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

重新学java之String

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

重新学java之String

重新学java之String 不可变

String是一个预定义类型,并且java没有提供可以修改这个对象的api,在原有的String类型上进行修改,java会在内存中开辟一个新的地址。
在Java中,我们通常有两种方式创建字符串对象,一种是通过字符串字面量方式创建,另外一种就是通过 new 方式去创建,如果使用字符串字面量的方式创建,JVMj会在字符串池中检查字符串内容是否已经存在,如果存在就会直接返回对应的引用。

        String s1 = "abc";
        String s2 = s1;
        System.out.println(s1 ==s2);
        //结果是true

        String s4 = new String("abc");
        String s3 = "abc";
        System.out.println(s3 == s4);
        //结果是false

        String s13 = "abc";
        String s14 =  new String("abc").intern();
        System.out.println(s13 == s14);
        //结果是true,这个是特例,加入了intern()方法结果不同

说到底不可变还是为线程安全,和防止被篡改。

常用的api
        String s = "abcbc";
        String ss = "abc";
        System.out.println(s.charAt(0)); // 返回字符串下表为x的字符

        System.out.println(s.equals(ss));// equals来判断两个字符串是否是相等的

        System.out.println(s.equalsIgnoreCase(ss));//用来比较两个字符串是否是相等的,忽略大小写

        System.out.println(s.indexOf(2));//用来查看这个字符串在变量字符串中的位置,如果没有就返回-1

        System.out.println(s.replace("bc","cd"));//用第二个参数代替第一个参数,有几个替换几个

        System.out.println(s.substring(0,1));//返回一个子串

        System.out.println(s.toUpperCase());//大写

        System.out.println(s.toLowerCase());//小写
空串和Null

空串和Null不是一个东西。空串是"",它的本质还是一个字符串,还是只想内存中的一个地址的。
写了代码在这儿呢!
https://github.com/70pice/restart_study_java.git

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

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

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