Java中用于处理字符串常量的有三个类:
java.lang.Stirng
java.lang.StringBuilder
java.lang.lang.StringBuilder
本文先介绍String类。
String
类表示字符串。Java程序中的所有字符串文字(例如"abc"
)都实现为此类的实例。
字符串是不变的; 它们的值在创建后无法更改。 字符串缓冲区支持可变字符串。 因为String对象是不可变的,所以可以共享它们(如果两个字符串的内容相同,则采用同一块内存地址)。
举例:
1 | ini复制代码public class Test01 { |
结果为:true
==比较的是内存地址。
如果是new出来的 ,那一定是不同的内存地址。
举例:
1 | typescript复制代码public class Test01 { |
结果为:false
- charAt(int index)
返回指定索引处的 char
值。
1 | typescript复制代码public class Test01 { |
结果为:3
- codePointAt(int index)
返回指定索引处的字符(Unicode代码点)。
1 | typescript复制代码public class Test01 { |
结果为:99
- compareTo(String anotherString)
简单来说,String类的compareTo()方法是用来比较两个字符串的字典顺序。 用字符串1跟字符串2作比较,如果字符串1的字典顺序在字符串2前面,则返回一个负数。若在后面,则返回一个正数。若两个字符串的字典顺序相同,则返回0。 这里的字典顺序指的是ASCII码表中的字符顺序。ASCII表中每个字符都有对应的下标,从0开始升序排列,共128个字符。
1 | typescript复制代码public class Test01 { |
结果为:32
a的ASCII码为97,A的ASCII码为65,两者相差32.
- equals(Object anObject)
将此字符串与指定的对象进行比较,当且仅当参数不是null且是String对象表示与此对象相同的字符序列时,结果为true。
1 | typescript复制代码public class Test01 { |
结果为:false
- getBytes(Object anObject)
使用给定的charset将此String
编码为字节序列,将结果存储到新的字节数组中。
1 | arduino复制代码public class Test01 { |
结果为:x= 49x= 49x= 32 y= -28y= -67y= -96
1的ASCLL码为49,空格是32 。
这里声明了一个byte类型的数组array用来接受getBytes()方法返回类的字节数组。 发现 字符串 “好”转换成字节之后 数组array里面有两个元素 ,一个 -28,一个 -67,这是因为,字符“你”是一个中文字符,占用了两个字节,当将其转换为byte时高8位转换成一个字节显示为-28 , 低8位转换成一个字节显示为 -67 。
- indexOf(int ch)
返回指定字符第一次出现的字符串中的索引。
1 | typescript复制代码public class Test01 { |
结果为:3
- repeat(int count)
返回一个字符串,其值为此字符串的串联重复 count
次。
1 | typescript复制代码public class Test01 { |
结果为:abcdefabddffe abcdefabddffe
- replace(char oldChar,char newChar)
返回从替换所有出现的导致一个字符串 oldChar
在此字符串 newChar
。
1 | typescript复制代码public class Test01 { |
结果为:1bcdef1bddffe
- split(String regex)
将此字符串拆分为给定 regular expression的匹配 项 。
1 | ini复制代码public class Test01 { |
结果为:
ab cde fab dd ffe
- subSequence(int beginIndex.int endIndex)
返回作为此序列的子序列的字符序列。
1 | typescript复制代码public class Test01 { |
结果为:ab cd
12.toLowerCase( )
使用默认语言环境的规则将此 String
所有字符转换为小写。
1 | typescript复制代码public class Test01 { |
结果为:abcdefg
13.trim( )
返回一个字符串,其值为此字符串,删除了所有前导和尾随空格,其中space被定义为其代码点小于或等于 'U+0020'
(空格字符)的任何字符。
1 | typescript复制代码public class Test01 { |
结果为:avdfds
14.valueOf(int i )
1 | arduino复制代码public class Test01 { |
结果为:10
这个10是字符类型的
本文转载自: 掘金