代码:
String st = "abc";
String sl = st.charAt(0)+st.charAt(st.length()-1));
Run Code Online (Sandbox Code Playgroud)
由于某种原因第二行是错误的,我不知道为什么
书上是错的,Eclipse 是对的。
在 Java 中,您可以编写"abc" + whatever, or whatever + "abc",它会连接字符串 - 因为一侧是String。
但在st.charAt(0)+st.charAt(st.length()-1)),双方都不是String。他们俩都是chars 所以 Java 不会给你支持String。
相反,Java 实际上会在技术上为您提供一个int. 以下是 Java 语言规范中的详细信息,它准确地描述了 Java 的工作原理:
char视为数字类型。+对数字类型的值的作用。chars 转换为intJLS 5.6.2。然后将它们相加,结果仍然是一个int.为了得到你想要发生的事情,最简单的解决方案可能是写
String sl = st.charAt(0) + "" + st.charAt(st.length() - 1));
Run Code Online (Sandbox Code Playgroud)