我想使用String
将s1逐个字符中的finalstring
复制到字符串String.charAt()
中。此代码有效:
public static String Comparison(String s1) {
String finalstring = "" + s1.charAt(0); // Doubt in this line
for (int j = 1; j < s1.length(); j++) {
if(s1.charAt(j) != s1.charAt(j - 1)) {
finalstring += s1.charAt(j);
}
}
return finalstring;
}
然而,当我用这个替换标记的行...
String finalstring = s1.charAt(0);
...编译器为该行发出错误:&#34;无法从char转换为String&#34;。为什么这种变化会导致错误?
答案 0 :(得分:1)
在Java(和大多数类型语言)中,String与Character不同。
String.charAt()
返回char而不是String。
""+s1.charAt(0)
将空字符串与char连接起来。结果是一个String,因此可赋值给finalstring变量。
答案 1 :(得分:0)
String.charAt()
返回char而不是String。因此,您必须附加""
才能将其转换为字符串
就是这样。
String x = 'c'+"";
您也可以通过
将char
转换为String
String.valueOf('c');