我觉得我对包装类有了一些了解。我的问题是方法何时会出现对象? 只有这样我们才需要使用包装类吗? 一般来说,一种方法需要一些参数 int add(int a); 这是“int a”原始值吗? 例如
答案 0 :(得分:3)
Java primitive types为int
,double
,byte
,boolean
,char
,short
,{{1} }和long
。
如果函数签名需要float
,那么您将传递一个原语。例如,如果它需要int
,则需要包装类Integer
。在Java 1.5中,自动装箱可以生效并自动将基元包装到其包装类型中。也可以进行拆箱,其中包装类被转换为其原始等价物,用于期望基元的方法。
Integer
答案 1 :(得分:0)
你说你理解包装类。那应该没有什么可解释的。该方法需要一个包装类,当方法签名说它时。如果参数类型为Integer
,则该方法需要包装类。如果int
,则需要原始值。
答案 2 :(得分:0)
请记住,包装模式的另一个名称是adapter模式 我们在java中看到的包装器模式的第一个例子是原始包装类:
当您需要基元的对象表示时,这些包装器很有用,例如当您需要将它们存储在集合中时。
当您需要规范跨不同类的公共接口时,Wrappers非常有用,尤其是那些您无法更改的接口,因为例如它们可能是第三方库的一部分。
例如,假设您需要处理将要参加活动的人员列表,但是您可能拥有多个信息来源以及他们自己对某个人的陈述。
Attendee
个对象的列表。Employee
个对象的列表
2.1 EmployeeWrapper
包含Employee
对象,并实现或扩展Attendee
CustomerWrapper
包含Customer
对象,并实现或扩展Attendee
VendorContact
个对象的列表
4.1 VendorWrapper
包含VendorContact
对象,并实现或扩展Attendee
现在,您已对不同类型的Attendee
个对象进行了规范化表示。