黑马程序员技术交流社区
标题:
']'和"]"有什么差别?为什么执行结果会不一样?
[打印本页]
作者:
@白纸嘿字@
时间:
2015-9-2 02:04
标题:
']'和"]"有什么差别?为什么执行结果会不一样?
本帖最后由 @白纸嘿字@ 于 2015-9-2 10:31 编辑
package com.itheima.stringbuffer;
public class StringBufferDemo {
/**
* @param args
*/
public static void main(String[] args) {
int[] arr = new int[] { 21, 32, 2, 45 };
System.out.println(toString(arr));
}
public static String toString(int[] arr) {
String str = "[";
for (int i = 0; i < arr.length; i++) {
if (i != arr.length - 1) {
str += arr[i] + ",";
} else {
——> str += arr[i] + ']';
}
}
return str;
}
}
复制代码
执行结果,一个:[21,32,2,138,另一个:[21,32,2,45]。
']'和"]"有什么差别(见“箭头”)?为什么执行结果会不一样?
不是说,在内存中过程是这样(举的例子,和本代码无关): String str="a"+4+'c',划分一个字符缓冲空间,将数据(无论基本数据类型,还是引用类型)存储起来,然后将它们变成字符串,
new StringBuffer().append("a").append(4).append('c').toString()
作者:
至尊幽蓝
时间:
2015-9-2 07:28
你代码的if else部分,arr应该是arr[i]吧,arr[i]是int型,']'是char,它和int相加被自动转化为int,如果我没猜错,']'的unicode码应该是138-45吧,同时第一种结果还少打印了一个']'。
作者:
vipsong
时间:
2015-9-2 09:17
自动装箱了。
你把单引号该双引号就是字符串输出了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2