我有两个简单的例子来支持我的问题。我不明白为什么(1)有效,而(2)无效。在我看来,我以同样的方式使用它们。
(1)
public String frontBack(String str) {
if (str.length() <= 1) return str;
String mid = str.substring(1, str.length()-1);
// last + mid + first
return str.charAt(str.length()-1) + mid + str.charAt(0);
}
(2)
public String front22(String str) {
str = "test";
return str.charAt(0);
}
对于第二个,我收到一个类型不匹配错误,上面写着:无法从 char 转换为字符串。当我尝试在互联网上找到答案时,我看到 str 在所有示例中都声明为 var 类型。但它适用于第一个示例。
我错过了什么?