何时使用包装类和基本数据类型?

119

什么情况下我应该选择包装类(wrapper class)而不是基本类型(primitive types)?或者在什么情况下我应该在包装类和基本类型之间进行选择?


2
这篇文章可能有助于本次讨论。请参阅:http://www.w3resource.com/java-tutorial/java-wrapper-classes.php - pankaj
11个回答

0

如果你想创建一个值类型,比如ProductSKU或AirportCode等。

当原始类型(例如字符串)定义相等性时,你会想要重写相等性。


2
仍然有很好的理由将包含字符串的值类型作为基本对象进行封装。 - Chris Missal
你的回答没有意义。我不确定你在说什么。不过,我同意你的评论,如果包装类能提高可读性,那是一个好主意。 - pstanton
值类型或值对象应该被创建并且是不可变的。例如,创建一个“CountryCode”对象如下是没有意义的:new CountryCode("USA")然后以同样的方式创建另一个对象,它们之后是不同的。它们只是起始字符串,但它们背后有意义。通过使用字符串,您可以修改它们(通过附加更多数据等),但它们将不再相等。请参阅此文章以获得我试图解释的更好描述 :) 我希望这有意义。 - Chris Missal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接