关于String一点小问题,求大佬解答
Topic sourcepublic static void main(String[] args) {
// 请将下面一组int值视为字符的Unicode码,把它们拼成一个字符串:
int a = 72;
int b = 105;
int c = 65281;
// FIXME:
String x=String.format("%04x", Integer.valueOf(a));
String y=String.format("%04x", Integer.valueOf(b));
String z=String.format("%04x", Integer.valueOf(c));
String n="\\u"+x+"\\u"+y+"\\u"+z;
System.out.println(n);
}
上面是我出现这个疑问的源头,要怎么改?求指教
第一个问题,g的字符串赋值的是unicode码,所以被认为是字,n的赋值是因为“0048”为字符串,而“\\u”被认为是对\转义再加上u的字符串,根据字符串相加原理,得出的。第二个问题因为\是转义的意思,对字母u转义自然会出现错误,所以表示\必须写为\\。
- 1
徘徊不定-心绪飘飞
public static void main(String[] args) {
String g = "\u0048";
String n="\\u"+"0048";
System.out.println(g);
System.out.println(n);
}
输出结果是
H
\u0048
为什么呢?