栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java中String类的深度理解

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java中String类的深度理解

public class StringDemo {
    //此代码用于更加深刻理解String类
    public static void main(String[] args) {
        String name = "衣衣";
        //string 作为Java lang包下的一个类,可以通过调用构造器来创建string对象
        //除了最基础也是最常用的创建对象方法,还有标准的创建对象的写法,但这种方法不用
        String s1 = new String("hhh");
        //还有一些比较常用,它可以将字符数组转换成字符串进行输出
        char[] c = new char[]{'a', 'b', 'c'};
        String s2 = new String(c);
        System.out.println(s2);//abc
        //另外Java给String的构造器中还有一种byte形参的,它可以把byte数组以Ascall码对应的字符然后转换成字符串输出
        byte[] b = {65, 68, 69};
        String s3 = new String(b);
        System.out.println(s3);//ADE
        //同时string的对象一样也是放在堆区的,而字符串变量存放的是对象在堆区的地址
        //如果是以String name1 = "衣衣";这个方式创建的字符串对象,再创建一个String name2 = "衣衣";
        //name1 存放的地址会和name2存放的地址一样
        //而要是以String s2 = new String(c);方式创建的字符串对象,再创建一个String ss2 = new String(c);
        //s2存放的地址不会跟ss2相同
        name = "yy";
        System.out.println(name);
        //字符串比较最好不用==来比较,因为这样比较比较的是地址,如果是用户输入之类的创建出来的字符串对象,那个地址与原本用""来定义的地址不同
        //String类中,有一个成员方法用于比较字符串内容的,equals(比较字符串内容是否严格相同,包括大小写)、equalsIgnoreCase(比较字符串内容,大小写可以不同)
        String yesPassword = "123456";
        String password = new String("123456");
        System.out.println(yesPassword == password);//地址不同,结果为false
        System.out.println(yesPassword.equals(password));//true
        //String 常用的api 下面这些是Java中给String类中的成员方法
        String ad ="Redmi K50,天玑8100,yyds";
        //public int length()  //用于返回字符串长度
        System.out.println(ad.length());//21
        //public char charAt(int index)//获取某个索引处的字符
        System.out.println(ad.charAt(6));//K
        //public char[] toCharArray()   //将字符串转换成字符数组返回
        char[] ch =ad.toCharArray();
        for (int i = 0; i < ch.length; i++) {
            System.out.print(ch[i]);
        }//Redmi K50,天玑8100,yyds
        System.out.println();
        //public String substring(int beginIndex,int endIndex)  //截取字符串,从开始和不包含结束索引处之间截取
        System.out.println(ad.substring(0,9));  //Redmi K50
        //public String substring(int beginIndex)   //截取字符串,从开始处直接截取到最后
        System.out.println(ad.substring(10));   //天玑8100,yyds
        //public String replace(CharSequence target,CharSequence replacement)   //将什么词替换成什么
        System.out.println(ad.replace("yyds","xxx"));   //Redmi K50,天玑8100,xxx
        //public String[] split(String regex)   //切割字符串,得到字符串数组进行返回
        String[] rs =ad.split(",");
        for (int i = 0; i < rs.length; i++) {
            System.out.println(rs[i]);
        }
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/781370.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号