java - 转换为 char 是否总是被认为是缩小的?

标签 java type-conversion

我正在备考,我刚刚发现在 Java 中从 byte 转换为 char 被认为是缩小的。按照书上的说法,char的存储方式和byte是一样的,但还是算窄化。谁能解释一下为什么?

还有,Byte转char也是一个缩窄!我认为 if A>B then B

我知道这是个愚蠢的问题。

enter image description here

最佳答案

bytechar 在 Java 中可以有效地被视为缩小转换,因为它引入了信息丢失的可能性。虽然 byte 确实是 8 位数量而 char 是 16 位数量,但请记住 char 是唯一的无符号原语输入 Java。这意味着将 byte 转换为 char 将截断任何负值。反向转换也在缩小,因为任何大于 127 的数字在转换为 byte 时都会被截断。 Java 的转换方式与 C++ 不同,其中 signedunsigned 只是意味着编译器将以不同方式解释这些位,但实际数字不会改变。

关于java - 转换为 char 是否总是被认为是缩小的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34769927/

相关文章:

c++ - 函数指针和返回类型转换

sql - 在 Hive 中将字符串转换为时间戳

javascript - 如何在 Javascript 中将数组转换为对象

c# - Double 到 Byte 类型转换错误

java - 为什么不能分配 I <?将类型> 扩展到 <类型>?

java - 为什么此代码总是产生输出 '?'

java - POI 朗读Word文档中的句子

java - 使用 Jsoup 登录网页

java - 如何在 Spring MVC 中使用单个 View 执行所有 CRUD 操作?

java - Android编程(cocos2d),白色矩形代替图像