可能重复:
Wrapper class in java
我学习了包装类,它用于包装原始值。您能否详细解释一下Wrapper课程?我们为什么要选择包装类?何时?
答案 0 :(得分:1)
如果要在只接受对象的位置使用基本数据类型(例如将它们添加到集合中),则需要一个包装类(如Integer或Byte)。
没有类包装器,但是每个基本类型都有一个单独的类(int为Integer,bool为Boolean,字节为Byte,等等。)
这些包装类的工作原理是它们是具有实例字段的对象,这些实例字段包含它们。此外,在Java5中,编译器知道如何自动在它们和基元之间进行转换(称为装箱/拆箱)。
在设计API时,如果它不是可选参数,则应将原语作为方法参数。当它是可选的时,你应该使用包装器,以便可以使用null。
例如
List<String> result = search( "keyword", limit);
// you can set a limit (Integer) or leave it null (no limit).
// easier to understand (I think) than using -1 or 0 or Integer.MAX_VALUE