本帖最后由 魏-玉-彪 于 2013-11-4 11:55 编辑
- public class StringTest {
- public static void main(String[] args) {
- String s = "abc";//把字符串abc赋值给字符串变量s
- //s.substring(1);
- //百度substring,得知该方法返回字符串,所以返回bc,但是这行语句是个表达式,不是完整语句。编译报错。
- s=s.substring(1) // substring()方法返回一个字符串,所以要用变量接收 加上此行试试
- System.out.println(s);
-
-
- //s.replace("bc", "xyz");
- //百度replace,得知该方法返回字符串,所以返回xyz,但是这行语句也是个表达式,不是完整语句。编译报错。
- s=s.replace("bc", "xyz"); //同理,.replace()方法也是返回一个字符串,所以也要有变量接收
- System.out.println(s); //打印abc,但是执行不到这行语句。
- //这里批印xyz而不是abc
- String value = new String ("abc");//建立String型对象 value,往对象内传参数为字符串abc。
- System.out.println(s == value);//编译报错,不同类型。s是字符串"abc",value是引用类型变量
- //上面不会报错
- }
- }
复制代码 从截图上看,编译失败是因为你编译的是其它文件,与此代码无关
字符串无论s "abc"还是变量value都是引用数据类型 包括用final修饰的
字符串常量都是一个类型,不存在不同类型的说法 false 是 (s == value)得出
的值
|