String字符串

String字符串


我们创建变量的时候又两种方法:
第一种:常量式赋值创建,这样创建的变量将会常量化,放在栈内存,比如:

Integer a = 10;

String str = “abc”;

第二种:

new对象进行创建,这种变量不会被常量化,放在堆内存

Integer c=new Integer(10);

String d=new String(“abc”);

栈内存空间较小,但是读取的速度快

堆内存空间较大,但是读取的速度慢

我们用new方法调用类的构造函数创建对象时,java会以为对象很大

而我们创建一个值已经确定的常量的时候,因为确保值不会变动,那么就可以放在栈内存方便调用;

字符串的常用方法 :

方法名称参数列表返回值
subString1、int start/2、(int start,int end)第一种截取从start位置到最后的字符串,包括start、第二种截取从start到end的左闭右开区间字符串
lengh返回字符串长度
charAtint index返回字符串内部字符数组在index位置的字符
compareToString anotherString按照字典序来将两个字符串一个个字符进行比较,如果相等返回0,否则返回第一个不相等的字符的ASCII码之差
trim去掉字符串前后的空格
splitchar a以a来分割字符串,返回一个字符串数组
join(char a,String[] arr)把一个数组中的所有元素进行组合拼接,字符a作为分隔符
equals
equalsIgnoreCase不区分大小写的比较,返回Boolean
toUpperCase全部转换为大写,对数字、汉字等不影响
toLowerCase小写
containsCharSequence sBoolean值,表示字符串中是否包含传入串
startsWithCharSequence sBoolean值,表示字符串是否以传入串开头
endsWithCharSequence sBoolean值,表示字符串是否以传入串结尾
getBytes将字符串转化为Byte[]数组
replace(CharSequence target, CharSequence replacement)将字符串中所有targer子串转化为replacement串,返回值是String类型
toCharArray将字符串转化为字符数组返回
String.valueOf静态方法,参数任意可以将传入的参数转化为字符串

synchrnized关键字


表示线程安全,StringBuffer的appen方法用其修饰

但是StringBuilder类的append没有它修饰,表示线程不安全

synchronize关键字修饰的方法可以保证:在多用户同时访问数据的时候数据不会错,而线程不安全的方法可能会出现数据错误

StringBuffer


因为String拼接会产生大量的垃圾自妇产,因此我们需要更为高效的操作字符串的方法

StringBuffer是线程安全的,适合多线程大量对字符串进行修改的情况

常用方法:

方法名称参数列表返回值
appendString str

StringBuilder


JDK1.4之后提供了StringBuilder,和StringBuffer功能相同

但是线程不安全,适合单线程多次对字符串进行修改的情况

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值