String—String中的API

String中的api

Unicode码的定义:

​ 是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的 二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求

Unicode别称:

​ 统一码、万国码、单一码


length()获取字符串的长度

charAt( int index )返回某个位置上的字符,char类型

split( String str )以str作为分隔符,将字符串进行分割,返回一个字符串数组

substring( int beginIndex ) / substring( int beginIndex , int endIndex )返回字符字串,参数为左闭右开区间

contains( charSquence string )返回boolean值,检查字符串中是否包含string字符串,如果包含则返回true,否则返回false.即判断子串.

trim()去除字符串末尾的空格

concat( String addString )返回在原字符串末尾加上addString后的新字符串,就是字符串拼接.==注意不是在原字符串末尾追加字符==

intern()native方法,如果字符常量池中已经包含一个等于此String对象的字符串,则返回常量池中字符串的引用,否则,将新的字符串放入常量池,并返回新字符串的引用.intern(),建议阅读这篇文章:String中intern方法的作用


startWith( String perfix )检索字符串是否以perfix开头,如果是返回true,否则false.

startWith( String perfix , int toffset )从索引 toffset 开始检索字符串是否以perfix开头,如果是返回true,否则false.

endWith( String suffix )检索字符串的后缀是否是suffix,如果是返回ture,否则false.(即检查字符串尾部是不是suffix)


equals( Object o )与其他元素或变量进行比较,引用类型同样比较具体的内容,而不是地址,相同返回true,否则false

equalsIgnoreCase( Object o )同上,但是在比较时忽略大小写.

contentEquals( charSquence chs )/ contentEquals( StringBuilder strb )比较chs/strb与原字符串是否相等,相等返回true,否则返回false.

这两种方法在实现的功能上没有很大的差别,都是进行比较,返回boolean值.

区别是:

​ equals() 不仅比较这个字符串的内容,还检查另一个被比较的对象是否是String类型 ,如果不是会进行转换;

​ cotentEquals()只比较两者的内容是否相同,不检查被比较对象的类型


matches( String regex )也是作比较,但是这里比较的是与正则表达式是否匹配,与equals(),contains()都有区别.

/*equals()比较两个字符串是否相等,matches()正则表达式匹配,contains()判断是否是子串*/
String str = "dfa";
str.equals(".*fa");//false 
str.matches(".*fa");//ture
str.contains(".*fa");//false

str.equals("fa");//false
str.matches("fa");//false
str.contains("fa");//true

str.equals("dfa");//true
str.matches("dfa");//true
str.contains("dfa");//true

regionMatches()方法比较两个字符串的在各自的某一区间内的字符是否相等,相等返回true,否则返回false

regionMatches( int toffset , String other, int ooffset, int len)

regionMatches( boolean ignoreCase, int toffset , String other, int ooffset, int len)

参数意义:

  • ignoreCase – 如果为 true,则比较字符时忽略大小写。
  • toffset – 此字符串中子区域的起始偏移量。
  • other – 字符串参数。
  • ooffset – 字符串参数中子区域的起始偏移量。
  • len – 要比较的字符数。

compareTo( String anotherString )根据Unicode码,按照字典顺序比较两个字符串,返回int类型,当且仅当两个字符串相等( equal() )时返回0,否则返回大于另一个字符串多少(正整数)或小于另一个字符串多少(负整数)

compareToIngnoreCase( String anotherString )与compareTo()一样,但是该方法可以忽略大小写区别


isEmpty()返回boolean值,空字符串返回true,否则false.

/*以下四个字符串调用isEmpty()返回结果:*/
String str = ""; // true
String str1 = null; // 报空指针异常java.lang.NullPointerException
String str2 = " "; // false
String str3 = "abc"; // false

注意以下替换方法不是在原字符串上进行修改替换,而是返回了新的字符串,原字符串不会改变

replaceAll( String regex , String replaceString )将字符串中的匹配的正则表达式regex全部替换成replaceString后的新字符串返回.

replaceFirst( String regex , String replaceString )将字符串中与正则表达式regex匹配的第一个字串替换成replaceString后的新字符串返回.

replace( char oldChar , char newChar )将字符串中所有的字符oldChar替换成newChar后的新字符串返回

replace( CharSequence old , CharSequence new )同理


注意以下转换大小写方法不是在原字符串上进行修改,而是返回了新的字符串,原字符串不会改变

toLowerCase()使用默认语言环境的规则将此 String 中的所有字符都转换为小写

toLowerCase(Locale locale)根据给定的语言规则 locale 将所有字符转换为小写

toUpperCase()使用默认语言环境的规则将此 String 中的所有字符都转换为大写

toUpperCase(Locale locale)根据给定的语言规则 locale 将所有字符转换为大写


codePointAt( int index )返回index索引处的字符的Unicode码,==索引从0开始==

codePointBefor( int index )返回指定索引前面的字符的Unicode码,==索引从1开始==

codePointCount( int beginIndex , int endIndex )返回指定索引区间内字符串代码点个数,==索引从0开始,左闭右开区间.==

对于常用的uniCode字符使用一个代码单元就可以表示,但有些辅助字符需要一对代码单元表示;

length()方法计算的是代码单元的数量,codePointCount()方法计算的是代码点数量;

所以常用的字符所组成的字符串的长度length()和codePointCount()代码点数量一样,而某些特殊字符则不一样,如 '∑'


以下’‘索引’'即代表是从0开始

indexOf( int ch)返回整数ch首次在字符串中的出现的索引,未出现返回-1,==注意此处的int ch 表示的是ascll码值.==

indexOf( String str )返回字符串str首次在字符串中的出现的索引,未出现返回-1

indexOf( int ch , int startIndex )从startIndex索引位置开始检索,返回整数ch首次在字符串中的出现的索引,未出现返回-1,==注意此处的int ch 表示的是ascll码值.==

indexOf( String str , int startIndex)``从startIndex索引位置开始检索,返回字符串str首次在字符串中的出现的索引,未出现返回-1`

lastIndexOf()同以上四个indexOf()方法,唯一不同的是从字符串的末尾向前检索,会找到最后一个匹配的数字/字符串


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

莽晨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值