在Java中,将变量直接分配给包装类是一种很好的做法



当我慢慢学习java教程时,我遇到了java助手类。代码是

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

然而,即使直接分配给辅助类,它也能起到同样的作用。

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

同样适用于短距离或浮动。

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

谢谢。

Character将基元两字节字符包装在对象中。这是多余的。你可以写

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

所以这是一个效率问题。

顺便说一句,String已经是一个对象,并且没有这种冗长性。

如果我理解你的要求,你想知道包装器Object类与它们的原始对应类的实用性。

包装类有很多优点:

  • 它们可以用作泛型类型
  • 它们可以为null
  • 它们在包装的基元值和其他静态方法上提供实用程序方法
  • 等等

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

当您:Character c = 'a';时,您正在基元值'a'自动装箱到其包装器Character类中。

如果使用类似于char a = c;的赋值,则会自动将包装器的值装箱到其原始对应项中。

相关内容

最新更新