String变量的创建
String x = new String("123"); //表示引用变量,实际没有直接指向对象"123", 而是通过某一引用值与对象"123"串联; String x = ""//表示 x 没有内容; String x = " "//空格字符串; String x = "123"; //直接对字符串赋值
String API 应用(未学习)
equal
String x = new String("456"); // String y = "456"; // if (x.equals(y)){ // System.out.println("相等"); // }else{ // System.out.println("不相等"); // }
StringBuilder
StringBuilder x = new StringBuilder(); // for (int i = 0; i < 1000_0000; i++) { // x.append(i); // } // System.out.println("done");//可以成功运行结果,因为不会存有垃圾,只保存最后一次结果
String串连Bug
原因是String的值是固定的,变量只指向最后一次串连的值,其他值在未使用StringBuilder时会被存于"垃圾箱",占用空间
String x = new String(); // for (int i = 0; i < 1000_0000; i++) { // x+=i; // } // System.out.println("finish");//无法等到运行结果,内存不够调用,运行不出结果