码迷,mamicode.com
首页 > 编程语言 > 详细

Java面向对象-- String 类

时间:2018-10-21 12:06:32      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:分享图片   orm   一个   方式   ace   oid   9.png   main   demo1   

1,实例化String对象 ,

有两种方式,我们直接看代码:

package com.java1234.chap03.sec08;
 
public class Demo1 {
 
    public static void main(String[] args) {
        // 实例化String的方式一
        String name1="张三";
        System.out.println("name1="+name1);
         
        // 实例化String的方式二
        String name2=new String("李四");
        System.out.println("name2="+name2);
    }
}

运行输出:

name1=张三

name2=李四

2,“==”VS“equals方法”

“==” 比较的是引用(是否指向同一个内存块)  “equals”比较的是具体内容


package com.java1234.chap03.sec08;
 
public class Demo2 {
 
    public static void main(String[] args) {
        String name1="张三";  // 直接赋值方式
        String name2=new String("张三"); // new方式
        String name3=name2; // 传递引用
         
        // ==比较的是引用
        System.out.println("name1==name2:"+(name1==name2));
        System.out.println("name1==name3:"+(name1==name3));
        System.out.println("name2==name3:"+(name2==name3));
         
        // equals比较的是具体内容
        System.out.println("name1.equals(name2):"+(name1.equals(name2)));
        System.out.println("name1.equals(name3:"+(name1.equals(name3)));
        System.out.println("name2.equals(name3):"+(name2.equals(name3)));
    }
}

运行输出:

name1==name2:false

name1==name3:false

name2==name3:true

name1.equals(name2):true

name1.equals(name3:true

name2.equals(name3):true

 

技术分享图片

3,String两种实例化方式的区别

直接赋值方式,创建的对象存放到字符串对象池里,假如存在的,就不会再创建;

new对象方式,每次都创建一个新的对象;

package com.java1234.chap03.sec08;
 
public class Demo3 {
 
    public static void main(String[] args) {
        String name1="张三";
        String name2="张三";
        String name3=new String("张三");
        String name4=new String("张三");
         
        System.out.println("name1==name2:"+(name1==name2));
        System.out.println("name1==name3:"+(name1==name3));
        System.out.println("name3==name4:"+(name3==name4));
    }
     
}

运行输出:

name1==name2:true

name1==name3:false

name3==name4:false

技术分享图片

 

 

 

 

4,字符串的内容不可变性

字符串的特性:不能改变字符串的内容;

要想改变,只能通过指向一个新的内存地址;

package com.java1234.chap03.sec08;
 
public class Demo4 {
 
    public static void main(String[] args) {
        String name="张";
        name+="三";
        System.out.println(name);
    }
}

技术分享图片

 

Java面向对象-- String 类

标签:分享图片   orm   一个   方式   ace   oid   9.png   main   demo1   

原文地址:https://www.cnblogs.com/xyg-zyx/p/9824373.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!