当前位置: 首页 > 知识库问答 >
问题:

为角色包装器指定整数或字符时自动装箱

王辉
2023-03-14

为什么我们可以将int值和char值都赋给Character Wrapper类型。Autoboxing意味着对相应包装进行装箱,但Character不是int的相应包装。它是Integer

为什么这两种说法都是可能的

Character character = 'a';
Character character2 = 3;

共有3个答案

吕树
2023-03-14

它是分配给字符的ASCII值。

在第一种情况下

Character character1 = 'a';

字符1直接分配一个字符值。

但是在你的第二个陈述中:

Character character2 = 3;

字符2被指定为ASCII值3,即

陆星文
2023-03-14

3不一定是int。它是短型的。char和short长度都是16位

孔飞翔
2023-03-14

如果将 int 值分配给字符,则将其视为 ASCII 值。

以下4种方法的结果相同。

Character character2 = 'e';
Character character2 = 101;
int i = 101;
Character character2 = (char)i; // casting int to char i.e. treat it as ASCII value
Character character2 = (char)101;  
System.out.println(character2); // Prints e

注意:您可以参考此ASCII表

 类似资料:
  • 有以下代码: 它打印: 12 这个不能编译。为什么?

  • 我基于此主题为log4j2记录器做了一个包装:如何向log4j消息添加前缀(在对象级别) 以下是我所拥有的: 进口org.apache.log4j.记录仪; 用法: 问题: 作为输出,我有一个到类的链接 "LogWrapper.java:17"它没有指向中调用记录器的行。 如何解决?

  • 问题内容: 我创建了一个单元工厂包装器,以启用JavaFX表单元的自定义配置。请参见下面的代码。 这个cellfactory包装器通常可以在我所有的表视图中导航。但是,一旦我在系统中执行其他功能,例如添加新记录,编辑记录等,就会引发以下错误。 我似乎无法弄清楚为什么这个包装器认为我的CML类中包含空值。任何人对于为什么会抛出此Null Pointer异常有任何想法? 问题答案: 不能保证在第一次调

  • 我有一个名为ReportController的控制器,它可以成功地访问存储库中的数据。我在另一个处理WebSocket消息的类中自动连接了该类,因为我还想在数据库之间发送WebSocket消息。然而,问题是,当我在SocketHandler类中自动连接控制器类并从那里调用方法时,它会给出一个空指针异常。我已经用@组件或@服务注释了控制器,但没有成功。我的课程如下 我的控制器类 和我的套接字处理程序

  • 这里有一个非常简单的案例:我正在尝试将一个对象类型强制转换为一个基元,如下所示: 这是类'class'的cast方法的源代码 为什么会出现这种情况?其他原语也发生了同样的情况。 活生生的例子