zoukankan      html  css  js  c++  java
  • Java基础String对象

    String对象的特点

    1、通过new创建的字符串对象,每一次new都会申请一个内存空间,虽然内容相同,但地址不同

    char[] chs = {'a','b','c'};
    String s1 = new String(chs);
    String s2 = new String(chs);
    

    上面的代码中JVM首先会创建一个字符数组,然后每一new都会有一个新的地址,只不过S1和S2参考的字符串内容是相同的。

    2、以" "给出的字符串,只要字符序列相同(顺序和大小相同),无论程序代码出现几次,JVM只会建立一个String对象,并在字符串池中维护。

    String s3 = "abc";
    String s4 = "abc";
    

    在上面的代码中,针对第一行代码,JVM回建立一个String对象放在字符串池中,并给S3参考,第二行则是让S4直接参考字符串池中的String对象,也就说他们本质上是同一个对象。

    package com.string;
    
    public class StringDemo02 {
        public static void main(String[] args){
            //构造方法方式得到对象
            char[] chs ={'a','b','c'};
            String s1=new String(chs);
            String s2=new String(chs);
            //直接赋值方式得到对象
            String s3="abc";
            String s4="abc";
            //比较字符串地址是否相同
            System.out.println(s1==s2);
            System.out.println(s1==s3);
            System.out.println(s3==s4);
    
            //比较字符串内容是否相同
            System.out.println(s1.equals(s2));
            System.out.println(s1.equals(s3));
            System.out.println(s3.equals(s4));
    
        }
    }
  • 相关阅读:
    PHP-------抽象和接口
    MySQL函数
    MySQL索引
    MySQL语法
    MySQL视图、事务
    最简洁粗暴版的虚拟用户配置FTP
    linux网络bond技术
    CentOS 7服务
    Nginx 基础
    shell 截取指定的字符串
  • 原文地址:https://www.cnblogs.com/tamias/p/13289721.html
Copyright © 2011-2022 走看看