在 Java 中,将变量直接分配给包装器 class 是一个好习惯吗?

Is assigning variables directly to a wrapper class a good practice in Java?

随着我慢慢地学习 java 教程,我遇到了 java 帮助程序 classes。代码是

public static void main(String args[]) {
char myLittleChar = 'b';
char myBigChar = Character.toUpperCase(myLittleChar);
System.out.println(myBigChar);

然而,即使直接分配给助手 class。

Character c = 'a';
System.out.println(c.toUpperCase(c));

同样适用于空头或浮点数。

然而,我在任何教程或任何示例代码中都没有遇到过这么多,并且被声明为 intshort 等。这被认为是一种不好的做法吗?如果是,为什么?

谢谢。

字符将原始的两字节字符包装在一个对象中。那是多余的。 你可以写

char myBigChar = Character.toUpperCase('b');

所以这是一个效率问题。

顺便说一下,String 已经是一个对象,没有这种冗长的内容。

如果我理解你的问题,你想知道实用程序 ot wrapper Object classes 与它们的原始对应物。

wrapper 有很多优点 classes:

  • 它们可以用作通用类型
  • 它们可以为空
  • 他们在包装的原始值和其他静态方法上提供实用方法
  • 等等

在你的问题的另一面,有一个叫做装箱/拆箱的概念。

当你:Character c = 'a';,你自动装箱原始值'a'到它的包装Characterclass。

如果您按照类似以下内容的赋值:char a = c;,您将自动拆箱包装器的值到其原始对应物中。