回答
Java's generics system只支持类类型。由于原语不是类,所以它们不能用于泛型。但是,基元的包装类可以用作泛型类型。例如,您可能不会声明ArrayList<int>
,但您可以使用ArrayList<Integer>
实现类似的功能。
这也是偶尔使用的一个变量的值初始化为null
。但是,原始图不能设置为null
;该特权是为对象保留的。
// This is OK
Integer iDontKnowValueYet = null;
// Compile error!
int iDontKnowThisYetEither = null;
你的整数通常包装在包装类,当你把它们放在一个数据结构。因此,.equals方法用于确定何时在数据结构上调用.contains方法。
其他usefule方法: 的toString toHexString parseString
事情如int,焦炭,双都是原语意味着它们并不需要通过使用“新”被实例化。像Integer,Character,Double这样的东西是在计算机上占用更多空间的对象(因为对象有更多的开销),但是可以使用像Integer.parse()这样的方法。一般来说,如果你需要其中的一种方法,使用原语并只使用对象版本。
要回答的东西有关== B对a.equals(B):
Integer a = new Integer(5);
Integer b = new Integer(5);
即使它们是相同的值(这是什么.equals试验),他们是不一样的一块内存,因为你说“新”两次。一个!= B,但a.equals(B)
Integer a = new Integer(5);
Integer b = a;
现在,他们使用同一块内存,如果你改变一个意思,你改变他们两个(除非你用“新”了)。 A == B和a.equals(B)
//using last code block
b = new Integer(5);
现在再一次!= B,但a.equals(二)==真因为再次它们具有相同的价值,但它们是在不同的片记忆。
两件事。首先,整数。解析也可以用于基元类型。实际上,Integer.parseInt返回int而不是Integer。其次,你不能像你所建议的那样改变变量'a',因为Integer是一个不可变的类。 –
@ axelrod360我看到等于可用于比较值与比较参考。 我猜Integer有parseInt定义在它里面,所以可以从那里调用它。 – Siddhartha
- 1. 灰烬isController V /秒isRoute V /秒isComponent
- 2. 语法“Foo(int v):val_(v){}”?
- 3. 例:: FIRST_DAY_OF_WEEK(int v)按
- 4. 整数NEQ Int(整数)Craziness
- 5. ExitAction V /秒退出功能
- 6. JBOSS V /秒的Apache Tomcat
- 7. vector <int> v(istream_iterator <int>(cin),istream_iterator <int>());
- 8. 希望将int整型为int整型数学
- 9. Int与Swift中的整数
- 10. 整数验证为int
- 11. 整数(int)如何工作?
- 12. 隐秘int整型数组
- 13. 有没有一个有用的居民'forall v。Int - > v - > IO v`?
- 14. long int v。long的可读性
- 15. 什么INT * V [10]和INT(* P)之间的差值[10]
- 16. 在c中生成随机v型int数组#
- 17. 整秒附近的秒数似乎不正确地转换
- 18. 获取当前时间(秒)和整数
- 19. 从int无格式减去秒
- 20. 查找一对在整数的数组元素,使得ABS(V [I] -v [j]的)被最小化
- 21. Haskell将整数转换为Int?
- 22. Python的铸造INT( “串”,整数)
- 23. 无法打印整个int数组
- 24. 使用jaxb将整数转换为int
- 25. 为什么Java不autobox INT []为整数[]
- 26. 整数与int类型,哪个更好?
- 27. 如何 - 将int分成两个整数?
- 28. java - 无法将整数转换为int
- 29. int与整数之间的PHP差异
- 30. perl - int()递减一个整数
+1甚至在泛型,集合,列表,集合和映射之前,仅存储对象。 –
我明白了。但是,为什么Java设计者设计的泛型不能与基元和int一起工作,在初始化时不能设置为null,他们肯定看到了使用Integer比int更有用的东西吗? – Siddhartha
集合不接受原语的事实与泛型没有任何关系。 –