str2.charAt(1)=='2',str2.charAt(1)==50都为true,why String str2 = "1234"; System.out.println(str2.charAt(1)=='2'); //TRUE System.out.println(str2.charAt(1)==50); //TRUE50是unicode的代码单元表示为什么编译器会这样实现转换? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一个 是 char 一个 是 int 最终 都一样的 。。 字符2在ASCII码的中是50 就如同字符a是97一样System.out.println(('2' == 50)&&('a' == 97)); System.out.println((int)'2'); == 50 char 类型数据转型为 int型 api里面说的是Unicode 代码单元为什么你说的是ascii码?这2种码是不一样的请指教 应该是unicode吧,不过对于一部分字符他们是一致的 char a=‘2’ 和int a=2,二进制表示后两个字节是一样的 char 与 int 进行 *, /, +, -, <, >, <=, >=, ==, !=, &, ^, |, ? : 操作时 char 会自动提升为 int 类型,char 提升为 int 类型是按照 Unicode 代码点来转换的。Unicode 代码点也就是 Unicode 的编码,'2' 的 Unicode 代码点为 U+0032,代码点序值为 0x32,也就是 50。这个 '2' 会被提升为 50 再与 int 的 50 进行比较。 Unicode 代码点也就是 Unicode 的编码,'2' 的 Unicode 代码点为 U+0032,代码点序值为 0x32,也就是 50。 这个 '2' 会被提升为 50 再与 int 的 50 进行比较。 字符'2'和的ascii是50,在于==运算符,java底层重载此运算符时由于等式两边都是基本数据类型,所以会像其中的一边进行转换,'2'转成整型后就是50 正则表达式 jtable如何改变一列底色 哭……为什么Confirm对话框仅出来一个框框…… 关于 Java 虚拟机多线程与操作系统多线程的问题 能不能让JAVA程序在IE中模拟鼠标的一些动作? Class.forName()问题 想用java做一个加密软件,谁能给我一点思路吗? jdbc用where 子语中有汉字为何不能成功 关于端口被占用的问题 高分求救啊!!!!高手们快来救救我啊!!!关于applet显示图片更新的问题 无法识别删除键? 一道面试题求解!
为什么你说的是ascii码?
这2种码是不一样的
请指教
这个 '2' 会被提升为 50 再与 int 的 50 进行比较。
这个 '2' 会被提升为 50 再与 int 的 50 进行比较。