字符串的使用及注意事项

本文介绍了Java中String类的使用方法,包括直接赋值和new方式创建对象,以及字符串在内存模型中的处理。重点讲解了字符串比较的规则,强调equals和equalsIgnoreCase的区别,并预告了StringBuilder的后续内容。
摘要由CSDN通过智能技术生成


前言

字符串在使用的频率非常高,非常重要,这是我总结的适合初学者的有关字符串的使用及注意事项


提示:以下是本篇文章正文内容,下面案例可供参考

一、概述

java.lang.String类代表字符串,Java程序中的所有字符串文字(例如"abc","下雨摸鱼休息","求点赞求关注")都为此类的对象。

二、注意事项

 1、字符串的内容是不会自己改变的,它的对象在创建后不能被更改。

2、字符串拼接产生一个新的字符串

三、使用方法

1、直接赋值

 这是最常见的使用方法,上代码!

public class Main {
    public static void main(String[] args){
        String str = "123456";
        System.out.println(str);
    }
}

输出结果显而易见,就是123456

2、使用new的方式来获取一个字符串对象

        1·空参构造:可以获取一个空白的字符串对象(这个真就是多此一举了,很少用)

String s2 = new String();
System.out.println("@" + s2 + "!);

输出的结果为:@!

        2·传递一个字符串,根据传递的字符串内容再创建一个新的字符串对象(用的比较少)

String s3 = new String(original:"abc");
System.out.println(s3);

结果是:abc(注:这里有一个注意事项,在下面会有提到)

        3·传递一个字符数组,根据字符数组的内容再创建一个新的字符串对象

char[] chs = {'a','b','c','d'};
String s4 = new String(chs);
System.out.println(s4);

eg.(使用场景)需求:我要修改字符串的内容,将abc变为Qbc,因为字符串的内容是不能改变的,此时我们可以把它变成字符数组{'a','b','c'}然后再把零索引上的a变为Q就可以啦。

         4·传递一个字节数组,根据字节数组的内容再创建一个新的字符串对象

byte[] bytes = {97,98,99,100};
String s5 = new String(bytes);
System.out.println(s5);

输出结果为:abcd

我们可以拿着这些数字去查ASCII表中去查,查到对应的字母再把它进行砖混变成字符串

应用场景:在网络中传输的数据都是字节信息,我们一般要把字节信息进行转换,转成字符串,此时就用到这个构造啦。

四、String在Java的内存模型 

        1、当使用双引号直接赋值的时候,系统会检查该字符串在串池中是否存在,如果不存在,就创建新的,如果存在了,就复用 

        2、当使用new时,在堆里面开辟新的空间,创建的字符串对象,不会复用,如果相同的字符串较多时就会浪费内存空间

五、字符串的比较 

        1、“==”比的到底是什么?

                1·基本数据类型比较的是数据值

                2·引用数据类型比较的是地址值

        2、boolean equals(要比较的字符串)————完全一样为true,否则为false

                boolean equalsIgnoreCase(要比较的字符串)————忽略大小写的比较(此处的忽略仅限于英文字母的大小写)

        3、键盘录入的字符串是new出来的 

结论:以后想要比较字符串的内容,就必须要用String里面的方法,equals或者equalsIgnoreCase。

还有一个StringBuilder这些的用法,尽情期待下一篇。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值