String类

1.字符串是一个特殊的对象,用final修饰的类,所有的基本数据类型包装类都是final修饰的类


2.字符串一旦初始化就不可以被改变。


3. String s1 =  new String("123"); 这样做,在内存中创建了2个对象,一个是new出来的,一个是字符串对象。

String s2 = "abc";  String s3="abc"; s1==s2;//结果为true  :这是因为字符串是一个特殊的对象,创建s1的对象时分配了一个内存空间,创建s3时,先在内存中找有没有相同的字符串对象,如果有则指向这个对象,否则才开辟空间创建字符串对象。

关于字符串常量池,在编译时期已经定义好的(直接用双引号赋值的字符串)字符串存放在字符串常量池中,在运行时期定义的字符串对象(如new或拼接的)存放在堆中,对于equals相等的字符串,在常量池中永远只有一份,在堆中有多份。


4.方法:

获取 :

⒈intlength();获取字符串的长度。

⒉charcharAt(int index);获取指定位置的字符,当访问到不存在的角标时,会发生角标越界异常。

⒊根据字符或字符串,获取其首次出现的位置。如果不存在则返回-1。

int indexOf(char str);

int indexOf(String str);

int indexOf(str,int fromindex);从指定位置开始查找

int lastIndexOf(str);最后一次出现的位置

.....

判断:

        ⒈该字符串是否包含某个子串:contains(String str);

⒉字符串是否为空(原理是判断字符串的长度是否为零):booleanisEmpty();

⒊是否以指定字符串开头:booleanstartsWith(String str);

⒋是否以指定字符串结尾:booleanendsWith(String str);

⒌判断两个字符串内容是否相同:booleanequals(str);

⒍判断两个字符串内容是否相同,忽略大小写:booleanequalsIgnoreCase(String str);

转换:

         ⒈将字符数组转成字符串:

构造函数:new String (char ch[]);  new String(char ch[],int offset,int count);将指定字符数组的一部分转为字符串,offset开始位置,count个数.

静态方法:static String copyValueOf(char ch[]);

static String copyValueOf(char ch[],int offset,int count);

   static String ValueOf(char ch[]);

⒉将字符串转成字符数组:

chartoCharArray();

⒊将字节数组转成字符串:

new String(byte bt[]);

new String(byte bt[],String charSet);

new String(byte bt[],offset,count);

⒋将字符串转成字节数组:

byte[]getBytes();

byte[]getBytes(chatSet);

⒌将基本数据类型转成字符串:

static StringvalueOf(int i);

long double float boolean char都可以

替换:

⒈Stringreplace(oldChar,newChar);返回一个新的字符串对象,而调用该方法的字符串对象不会改变,因为字符串对象一旦初始化就不能改变;如果要替换的字符不存在,则返回原来的字符串。

切割:

Strng[] split(String regex);用正则表达式来切割

booleanmatches(String regex);判断该字符串是否满则正则表达式要求。

获取字符串的一部分:

String subString(int begin);

String subString(int begin,int end);包含头不包含尾。

转换,去空格,比较:

⒈将字符串转成大写或小写:StringtoUpper(String str),返回转为小写的字符串。 StringtoLowerCase(str);转大写。

⒉将字符串两端多余的空格去掉:Stringtrim();

⒊对两个字符串进行自然顺序的比较: int compareTo(str);



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值