几个基本的知识点,不太确定,请教~
1.null 是对象还是值?
2.它有gettype()及gethashcode()吗
3.具有不同的哈希码的对象是属于不同的对象?
4.具有相同的哈希码的对象是属于同一个对象?
5.这个对象的哈希码的作用?
6.null在内存中的那个地方,堆还是栈中,所占字节数?有没哈希值?
自己的答案:
1.是不确定的对象。
2.没有
3.是
4.是
5.便于cls对内存中的对象能够快速的读取及修改。
基础
------解决方案--------------------null是关键字
http://msdn.microsoft.com/zh-cn/library/vstudio/edakx9da.aspx
------解决方案--------------------1,值
2,无
3,不一定
4,是
5,散列表
6,指向内存地址为000...的区域的指针,字节数为一个指针的大小,32或64byte,无。
------解决方案--------------------null 是值
------解决方案--------------------完全没有想过这个问题,关注&学习。
------解决方案--------------------
字符串有驻留技术,你比较下引用,s,t就是
同一个对象。
------解决方案--------------------
我的理解是null就是一个指向0000....的一个“指针标识”,就是这么一个全0的“值”,实际不指向任何东西。
就像我们说这个东西是黑色的,到底什么是黑色?要有一个具体可以的东西可以比较吧。
所以当初就把全0的指针作为null的标识,只要指针是全0,就认为是null.
这样的一个标识已经能标识自己了,就没必要再用一个哈希吗来标识它了吧。
我觉得好绕啊,,,
个人见解,不当之处请指正。
------解决方案--------------------以前写过一个哈希码的文章,,被我删了,在CSDN博客回收站,无法恢复
------解决方案--------------------1.null 是对象还是值?
值吧
2.它有gettype()及gethashcode()吗
没
3.具有不同的哈希码的对象是属于不同的对象?
不一定,同一对象可以多个
4.具有相同的哈希码的对象是属于同一个对象?
同上
5.这个对象的哈希码的作用?
不知道
6.null在内存中的那个地方,堆还是栈中,所占字节数?有没哈希值?
0值,参考c 指针
以上个人猜想