当我慢慢学习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));
同样适用于短距离或浮动。
然而,我在任何教程或任何示例代码中都没有遇到这么多,并且被声明为int
、short
等。这被认为是一种糟糕的做法吗?如果是,为什么?
谢谢。
Character将基元两字节字符包装在对象中。这是多余的。你可以写
char myBigChar = Character.toUpperCase('b');
所以这是一个效率问题。
顺便说一句,String已经是一个对象,并且没有这种冗长性。
如果我理解你的要求,你想知道包装器Object
类与它们的原始对应类的实用性。
包装类有很多优点:
- 它们可以用作泛型类型
- 它们可以为null
- 它们在包装的基元值和其他静态方法上提供实用程序方法
- 等等
在你问题的另一边,有一个概念叫做装箱/拆箱。
当您:Character c = 'a';
时,您正在将基元值'a'
自动装箱到其包装器Character
类中。
如果使用类似于char a = c;
的赋值,则会自动将包装器的值装箱到其原始对应项中。