- public class Test_String {
- /**
- * @param args
- */
- public static void main(String[] args) {
- demo1();
- demo2();
- demo3();
- demo4();
- demo5();
- }
- private static void demo5() {
- System.out.println("***第五题***");
- String s1 = "ab";
- String s2 = "abc";
- String s3 = s1 + "c";
- System.out.println(s3 == s2);// false
- System.out.println(s3.equals(s2));// true
- }
- private static void demo4() {
- System.out.println("***第四题***");
- String s1 = "a" + "b" + "c";
- String s2 = "abc";
- System.out.println(s1 == s2);// true 常量优化机制
- System.out.println(s1.equals(s2));// true
- }
- private static void demo3() {
- System.out.println("***第三题***");
- String s1 = new String("abc");// 记录的是堆内存地址值
- String s2 = "abc"; // 记录的是常量池中的地址值
- System.out.println(s1 == s2);// false
- System.out.println(s1.equals(s2));// true
- }
- private static void demo2() {
- System.out.println("***第二题***");
- String s3 = new String("abc");// 创建了两个对象,一个在常量池中,一个在堆内存中.
- System.out.println(s3);
- }
- private static void demo1() {
- System.out.println("***第一题***");// 常量池中没有这个对象,就创建一个,如果有直接有即可.
- String s1 = "abc";
- String s2 = "abc";
- System.out.println(s1 == s2);
- System.out.println(s1.equals(s2));
- }
- }
复制代码
|
|