本帖最后由 wangrenjie 于 2012-5-15 17:37 编辑
字符类型不能直接给String类型赋值的。
big+=(char)(s.charAt(x)^' ');// ⑴ 这句话里的(char)强制转换是把(s.charAt(x)^' ')的计算结果强转成char类型
(s.charAt(x)^' ) 计算过程 : 先拿出s.charAt(x) 的值 , x=0的时候,拿到字符'a' ,字符'a'在码表中的值是97, ' ' 这个空格字符的码表值是'32' ,
它们俩个 97 ^ 32 的值是65,所以这句话的结果所对应的码表值 是:65
接着计算 big += (char)65 把65强制转为char值,65所对应的char值是'A'
所以: big+='A' 这样是没有错的。
所以big+=(char)(s.charAt(x)^' ');不能算是直接给String类型赋值。
|