String与StringBuffer类

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类
日期和时间

这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_42844262/article/details/81305105