String与StringBuffer类

本文深入探讨Java中字符串操作的细节,包括String、StringBuffer和StringBuilder的区别与使用场景,以及Math类的基本数学函数应用。文章还介绍了字符串的比较、转换、搜索、分割等常见操作,并对比了不同字符串类型在内存分配上的差异。

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

String
String s=”Hello”;//常量池
String s2=”Hello”;
if(s==s2){//比较值是否相等,字符串相等于常量值
System.out.println(“相等”);
}else{
System.out.println(“不相等”);
}
输出相等

String str1=new String(“world”);//开辟新空间
String str2=new String(“world”);
if(str1==str2){//如使用==比较两个地址是否相等
System.out.println(“相等”);
}else{
System.out.println(“不相等”);
}
输出不相等

Scanner input=new Scanner(System.in);
    System.out.println("输入一个字符串:");
    String str=input.next();//创建一个String对象存

    if(str==s){//
        System.out.println("相等");
    }else{
        System.out.println("不相等");
    }

输出不相等
.equals()比较字符串内容
==比较地址
.length()字符串长度
//无法改变原值,转的是新的字符串,与原来值没关系
.equalsIgnoreCase()忽略大小写
.toLowerCase()转成小写
.toUpperCase()转成大写
.indexOf(int num)搜索第一个出现的字符所在下标,找不到返回-1
.lastIndexOf()搜索最后一个出现的字符所在下标,没有返回-1
.substring(int num1,int num2)提取字符字符串从num1下标开始,num2结束,去不到num2
.trim()去掉前后空格
.split()分割

StringBuffer
.append()追加
.capacity()容量
.charAt(int num)根据下标返回字符
.delete()删除
.replace()替换
.reverse()反转

StringBuilder是非线程安全的,StringBuffer是线程安全的

String是不可变对象
经常改变内容的字符串最好不要使用String
StringBuffer是可变的字符串
字符串将此改变的情况可以使用StringBuffer,更高效

Math类

.abs()绝对值
.max()最大值
.ceil()天花板
.floor()地板

Date类
日期和时间

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值