Java(String类)

本文详细介绍了Java中String对象的创建方法,包括直接赋值与new关键字创建的区别,以及如何使用equals方法进行字符串比较,并探讨了字符串的不可变性。此外,还提供了字符串分割的例子,展示了如何将分割后的字符串转换为整型数组。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 创建方法:

String name1="张三"; // 直接赋值方式
String name2=new String("张三"); // new的方式
String name3=name2;  // 传递引用

2.比较字符串(==和equal方法)

  • “==”比较的是引用,即比较的是栈区的两个变量是否指向同一个堆区区域
  • equal方法则比较的是两个string的纯内容
    这里写图片描述

==比较

System.out.println("name1==name2:"+(name1==name2));

结果:

name1==name2:false

equal比较:

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.equals(name2):true
name1.equals(name3):true
name2.equals(name3):true

3.不可变性

字符串是不可变的,眼跟前的改变是栈指向了另一个堆

4.字符串的分割

其实这些东西API上都有,不过还是要贴一些代码来小补一下
实际上和Python上的字符串操作差不多,可以参考一下我的另一篇文章Python字符串操作大全中的字符串的分割
基本上差不多

    public static void main(String[] args) {

        String str="1,2,3,43,56";
//      将字符串切开返回一个String类型的数组
        String[] aStrings=str.split(",");

//      创建一个和string数组相同元素个数的int类型数组
        int aLength=aStrings.length;
        int[] aNum=new int[aLength];

//      将string类型数据转换为int
        for(int i=0;i<aStrings.length;i++){
            aNum[i]=Integer.parseInt(aStrings[i]);
        }
//      数组的遍历输出
        for(int a:aNum){
            System.out.print(a+" ");
        }
//      验证生成的数组
        System.out.println();
        System.out.println(aNum[1]+aNum[2]);
    }

因为上面代码涉及数据类型转换,补一个我的数据类型转换的博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值