Java String类


Java平台提供了字符串类来创建和操作字符串。

创作字串:

最直接的方式来创建一个字符串是这样写的:

<span style="color:#333333"><span style="background-color:#f5f5f5"><span style="color:#7f0055">字符串</span><span style="color:#000000">greeting </span><span style="color:#666600">= </span><span style="color:#008800">"Hello world!" </span><span style="color:#666600">;</span> </span></span>

每次遇到一个字符串在代码中,编译器在这种情况下创建一个字符串对象,如:“Hello world!”。

新的关键通过使用使用关键关键关键关键关键字字字并函数创建创建对象对象对象对象对象。。类类类类类类类类类类类类类类类类类类类类类类类类类有有类有构造构造构造构造函数提供允许不同的的的来源来源来源来源

<span style="color:#333333"><span style="background-color:#f5f5f5"><span style="color:#000088">公共</span><span style="color:#000088">类</span><span style="color:#7f0055">StringDemo </span><span style="color:#666600">{</span>  

   <span style="color:#000088">public </span><span style="color:#000088">static </span><span style="color:#000088">void </span><span style="color:#000000">main </span><span style="color:#666600">( </span><span style="color:#7f0055">String </span><span style="color:#000000">args </span><span style="color:#666600">[]){ </span><span style="color:#000088">char </span><span style="color:#666600">[] </span><span style="color:#000000">helloArray </span><span style="color:#666600">= </span><span style="color:#666600">{ </span><span style="color:#008800">'h' </span><span style="color:#666600">, </span><span style="color:#008800">'e' </span><span style="color:#666600">, </span><span style="color:#008800">'l' </span><span style="color:#666600">, </span><span style="color:#008800">'l' </span><span style="color:#666600">, </span><span style="color:#008800">'o' </span><span style="color:#666600">, </span><span style="color:#008800">'.' </span><span style="color:#666600">}; </span><span style="color:#7f0055">String </span><span style="color:#000000">helloString </span><span style="color:#666600">= </span><span style="color:#000088">new </span><span style="color:#7f0055">String </span><span style="color:#666600">( </span><span style="color:#000000">helloArray </span><span style="color:#666600">); </span><span style="color:#7f0055">系统</span><span style="color:#666600">。</span><span style="color:#000088">出来</span><span style="color:#666600">。</span><span style="color:#000000">println </span><span style="color:#666600">(</span><span style="color:#000000">你好字符串</span><span style="color:#666600">); </span><span style="color:#666600">} </span><span style="color:#666600">}</span>  
             
          
      
   
</span></span>

这将产生以下结果:

<span style="color:#333333"><span style="background-color:#f1f1f1">你好。
</span></span>

注:  String类是不可改变的,因此,一旦创建了String对象,那么就是不能修改的。如果必须修改字符符的字符串,那么应该使用 String Buffer & String Builder 类。

字符串长度:

用于获取有关联象的信息的方法称为存取方法。可以使用字符串使用一个访问器是length()方法,它返回包含在字符串对字符中的字符。

下面的两行代码被执行之后,len等于17:

<span style="color:#333333"><span style="background-color:#f5f5f5"><span style="color:#000088">公共</span><span style="color:#000088">类</span><span style="color:#7f0055">StringDemo </span><span style="color:#666600">{</span>   

   <span style="color:#000088">public </span><span style="color:#000088">static </span><span style="color:#000088">void </span><span style="color:#000000">main </span><span style="color:#666600">( </span><span style="color:#7f0055">String </span><span style="color:#000000">args </span><span style="color:#666600">[]) </span><span style="color:#666600">{ </span><span style="color:#7f0055">String </span><span style="color:#000000">palindrome </span><span style="color:#666600">= </span><span style="color:#008800">"Dot saw I was Tod" </span><span style="color:#666600">; </span><span style="color:#000088">int </span><span style="color:#000000">len </span><span style="color:#666600">=</span><span style="color:#000000">回文</span><span style="color:#666600">。</span><span style="color:#000000">长度</span><span style="color:#666600">();</span><span style="color:#7f0055">系统</span><span style="color:#666600">。</span><span style="color:#000088">出来</span><span style="color:#666600">。</span><span style="color:#000000">println </span><span style="color:#666600">( </span><span style="color:#008800">"字符串长度为:" </span><span style="color:#666600">+ </span><span style="color:#000000">len </span><span style="color:#666600">); </span><span style="color:#666600">} </span><span style="color:#666600">}</span>   
       
      
        
   
</span></span>

这将产生以下结果:

<span style="color:#333333"><span style="background-color:#f1f1f1">字符串长度为:17
</span></span>

连接字串:

字符串类包例如用于连接两个字符串的方法:

<span style="color:#333333"><span style="background-color:#f5f5f5"><span style="color:#000000">字符串 1 </span><span style="color:#666600">。</span><span style="color:#000000">连接</span><span style="color:#666600">(</span><span style="color:#000000">字符串2 </span><span style="color:#666600">);</span></span></span>

这个返回一个string1和string2添加到它在最后一个新的字符串。还可以使用concat()方法连接字符串,如:

<span style="color:#333333"><span style="background-color:#f5f5f5"><span style="color:#008800">“我的名字是” </span><span style="color:#666600">。</span><span style="color:#000000">连接</span><span style="color:#666600">(</span><span style="color:#008800">“Zara” </span><span style="color:#666600">);</span></span></span>

字符串比较常用连接在一起使用“+”运算符,如:

<span style="color:#333333"><span style="background-color:#f5f5f5"><span style="color:#008800">“你好” </span><span style="color:#666600">+ </span><span style="color:#008800">“世界” </span><span style="color:#666600">+ </span><span style="color:#008800">“!”</span>    </span></span>

这将产生:

<span style="color:#333333"><span style="background-color:#f5f5f5"><span style="color:#008800">“你好世界!”</span></span></span>

看下面的例子:

<span style="color:#333333"><span style="background-color:#f5f5f5"><span style="color:#000088">公共</span><span style="color:#000088">类</span><span style="color:#7f0055">StringDemo </span><span style="color:#666600">{</span>   

   <span style="color:#000088">public </span><span style="color:#000088">static </span><span style="color:#000088">void </span><span style="color:#000000">main </span><span style="color:#666600">( </span><span style="color:#7f0055">String </span><span style="color:#000000">args </span><span style="color:#666600">[]) </span><span style="color:#666600">{ </span><span style="color:#7f0055">String </span><span style="color:#000000">string1 </span><span style="color:#666600">= </span><span style="color:#008800">"saw I was " </span><span style="color:#666600">; </span><span style="color:#7f0055">系统</span><span style="color:#666600">。</span><span style="color:#000088">出来</span><span style="color:#666600">。</span><span style="color:#000000">println </span><span style="color:#666600">( </span><span style="color:#008800">"点 " </span><span style="color:#666600">+ </span><span style="color:#000000">string1 </span><span style="color:#666600">+ </span><span style="color:#008800">"Tod" </span><span style="color:#666600">); </span><span style="color:#666600">} </span><span style="color:#666600">}</span>   
       
        
   
</span></span>

这将产生以下结果:

<span style="color:#333333"><span style="background-color:#f1f1f1">点看到我是托德
</span></span>

创造格式化字串:

已经有printf()和format()方法来打印输出格式的数字。String类有一个等价类的方法format(),它返回一个String对象,而不是一个PrintStream对象。

使用字符串的静态format() 方法允许创建可重新使用的格式化字符串,而不是一次一次的打印语句。例如,替代方法如下:

<span style="color:#333333"><span style="background-color:#f5f5f5"><span style="color:#7f0055">系统</span><span style="color:#666600">。</span><span style="color:#000088">出来</span><span style="color:#666600">。</span><span style="color:#000000">printf </span><span style="color:#666600">( </span><span style="color:#008800">"浮点型变量的值为" </span><span style="color:#666600">+ </span><span style="color:#008800">"%f,整型变量" </span><span style="color:#666600">+ </span><span style="color:#008800">"的值为%d,字符串" </span><span style="color:#666600">+ </span><span style="color:#008800">"为%s" </span><span style="color:#666600">, </span><span style="color:#000000">floatVar </span><span style="color:#666600">, </span><span style="color:#000000">intVar </span><span style="color:#666600">, </span><span style="color:#000000">stringVar </span><span style="color:#666600">);</span> 
                   
                   
                  </span></span>

可以这样写:

<span style="color:#333333"><span style="background-color:#f5f5f5"><span style="color:#7f0055">String</span><span style="color:#000000"> fs</span><span style="color:#666600">;</span><span style="color:#000000">
fs </span><span style="color:#666600">=</span> <span style="color:#7f0055">String</span><span style="color:#666600">.</span><span style="color:#000000">format</span><span style="color:#666600">(</span><span style="color:#008800">"The value of the float variable is "</span> <span style="color:#666600">+</span>
                   <span style="color:#008800">"%f, while the value of the integer "</span> <span style="color:#666600">+</span>
                   <span style="color:#008800">"variable is %d, and the string "</span> <span style="color:#666600">+</span>
                   <span style="color:#008800">"is %s"</span><span style="color:#666600">,</span><span style="color:#000000"> floatVar</span><span style="color:#666600">,</span><span style="color:#000000"> intVar</span><span style="color:#666600">,</span><span style="color:#000000"> stringVar</span><span style="color:#666600">);</span>
<span style="color:#7f0055">System</span><span style="color:#666600">.</span><span style="color:#000088">out</span><span style="color:#666600">.</span><span style="color:#000000">println</span><span style="color:#666600">(</span><span style="color:#000000">fs</span><span style="color:#666600">);</span></span></span>

String 方法:

这里是由String类支持的方法列表:

SN方法及描述
1char charAt(int index) 
返回指定索引处的字符。
2int compareTo(Object o) 
比较这个字符串与另一个对象。
3int compareTo(String anotherString)
比较两个字符串的字典顺序。
4int compareToIgnoreCase(String str) 
比较两个字符串按字典顺序,不区分大小写的差异。
5String concat(String str)
将指定的字符串串连到这个字符串的结尾。
6boolean contentEquals(StringBuffer sb) 
返回true当且仅当该字符串代表相同的字符序列作为指定的StringBuffer。
7static String copyValueOf(char[] data) 
返回表示所指定的数组中的字符序列的字符串。
8static String copyValueOf(char[] data, int offset, int count)
返回表示所指定的数组中的字符序列的字符串。
9boolean endsWith(String suffix) 
测试此字符串是否以指定的后缀结束。
10boolean equals(Object anObject)
比较此字符串与指定的对象。
11boolean equalsIgnoreCase(String anotherString)
比较这个字符串到另一个字符串,忽略大小写的考虑。
12byte getBytes() 
将此String解码使用平台的默认字符集,并将结果存储到一个新的字节数组中的字节序列。
13byte[] getBytes(String charsetName
将此String解码使用指定的字符集的字节序列,并将结果存储到一个新的字节数组。
14void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
复制字符从这个字符串到目标字符数组。
15int hashCode()
返回一个哈希代码这个字符串。
16int indexOf(int ch) 
返回此字符串指定字符第一次出现处的索引。
17int indexOf(int ch, int fromIndex) 
返回索引这个字符串中指定字符第一次出现处,指定索引处开始搜索。
18int indexOf(String str)
返回此字符串指定子字符串的第一次出现处的索引。
19int indexOf(String str, int fromIndex)
返回索引这个字符串中指定子字符串的第一次出现处,从指定的索引处。
20String intern()
返回字符串对象的规范化表示。
21int lastIndexOf(int ch) 
返回此字符串指定字符最后一次出现处的索引。
22int lastIndexOf(int ch, int fromIndex) 
返回此字符串指定子字符串的最右边出现处的索引。
23int lastIndexOf(String str)
返回此字符串指定子字符串的最右边出现处的索引。
24int lastIndexOf(String str, int fromIndex) 
返回索引这个字符串中指定子字符串的最后出现处,向后搜索指定的索引开始处。
25int length() 
返回此字符串的长度。
26boolean matches(String regex)
通知此字符串是否给定的正则表达式匹配。
27boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) 
测试两个字符串的区域等于。
28boolean regionMatches(int toffset, String other, int ooffset, int len)
测试两个字符串的区域都是相等的。
29String replace(char oldChar, char newChar)
返回从newChar更换oldChar所有出现在此字符串中产生一个新的字符串。
30String replaceAll(String regex, String replacement
替换此字符串中给定的正则表达式与给定替换相匹配的每个子字符串。
31String replaceFirst(String regex, String replacement) 
替换此字符串匹配给定的正则表达式给定替换第一个子字符串.
32String[] split(String regex) 
分割这个字符串围绕给定的正则表达式匹配.
33String[] split(String regex, int limit) 
分割这个字符串围绕给定的正则表达式匹配。
34boolean startsWith(String prefix)
测试此字符串是否以指定的前缀开头。
35boolean startsWith(String prefix, int toffset)
测试此字符串是否以指定索引开始的指定前缀开始。
36CharSequence subSequence(int beginIndex, int endIndex)
返回一个新的字符序列,这个序列的子序列。
37String substring(int beginIndex)
返回一个新的字符串,它是此字符串的一个子字符串。
38String substring(int beginIndex, int endIndex)
返回一个新的字符串,它是此字符串的一个子字符串。
39char[] toCharArray() 
这个字符串转换为一个新的字符数组。
40String toLowerCase()
将所有在此字符串中的字符的使用默认语言环境的规则小写。
41String toLowerCase(Locale locale)
将所有在此字符串中的字符来使用给定Locale的规则小写。
42String toString()
这个对象(它已经是一个字符串!)返回字符串形式(这里是自己本身)。
43String toUpperCase() 
转换所有的字符在使用默认语言环境的规则将此String为大写。
44String toUpperCase(Locale locale) 
转换所有的字符使用给定Locale的规则将此String为大写。
45String trim() 
返回字符串的一个副本,开头和结尾的空格去除。
46static String valueOf(primitive data type x) 
返回传递的数据类型参数字的字符串表示形式。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值