Java培训笔记十六

 String介绍一

 

 

 

String类位于:java.lang
String类继承于Object类,实现了Serializable; CharSequence;Comparable<String>
接口,表示String为可序列化可比较的字符序列。并String类被final修饰,是不可被继承的。
String类提供了一系列对不可变字符序列操作的方法

String的本质:为char数组

String的特点:
  (1)不可变字符序列。 这里的不可变指的是:一旦定义了一个String类的变量后,就不能
       直接在原有值的基础上进行追加;插入;删除等操作
  (2)利用String类中的方法对字符串进行操作,都会产生一个新的String类的副本,副本
       与原字符串是相互独立的
  (3)对副本或原字符串的修改不会影响到另外一个
 
String类中常用的方法:

(1) charAt(int index) 通过指定index索引值,从被搜索字符串中找到对应位置处的char值
    (参见:cn.com.string.charAt)
   
    注意:index应当大于0,小于被搜索字符串的长度(str.length())
   
(2) compareTo(String otherString) 与 compareToIgnoreCase(String otherString)
    相同点:比较两个字符串大小(内部比较方式,请参见底层代码),如果调用该方法的字符串比被比较
           字符串(otherString)大,那么,返回大于0的整数;如果两个字符串相等,那么,返回0;否则,
           返回小于0的负整数
          
    不同点:compareTo方法在比较的过程中,区分两个字符串的大小写;
          compareToIgnoreCase方法在比较的过程中,忽略两个字符串的大小写
         
   (参见: cn.com.string.compare)
  
(3) concat(String str) 将指定字符串str连接到调用该方法的字符串结尾部分,并形成一个新的字符串
    注意:concat返回的字符串是通过原有两个字符串连接形成的,与原有字符串是完全独立的
   (参见:cn.com.string.concat)
  
(4) contains(CharSequence s) 判断调用该方法的字符串中,是否包含了字符序列s。如果包含返回true;
    否则返回false
   
    注意:CharSequence是 CharBuffer, Segment, String, StringBuffer, StringBuilder
         的父类,根据继承关系中的向上转型,CharBuffer, Segment, String, StringBuffer,
        StringBuilder对象,都可以看作CharSequence来使用,即:作为contains方法的参数传递
    (参见:cn.com.string.contains)
  
(5) copyValueOf(char[] data) 与 copyValueOf(char[] data,int offset,int count)
    相同点: 将参数列表中的char[]数组对象data中包含的每个char值,链接组合成一个字符串
    不同点: copyValueOf(char[] data)方法是对data中的所有元素进行组合;
          copyValueOf(char[] data,int offset,int count)是根据offset指定的起始下标和
          count指定的元素个数,对data中的部分元素进行组合
         
    注意: copyValueOf都为静态方法,在使用的时候,直接通过String类名访问,不需要构建String类的对象
          使用指定起始和个数的copyValueOf方法的时候,起始值和个数应该在data有效取值返回内
   (参见:cn.com.string.copyValueOf)

 

 

 

String介绍二

 

String类中常用的方法:

(6) endWith(String suffix) 测试调用此方法的字符串是否以指定的后缀stuffix结束
    如果是返回true;否则返回false
    (参见:cn.com.string.endWith)
   
(7) equals(Object anObject) 与 equalsIgnoreCase(String anotherString)
    相同点:都可用于比较两个字符串是否相等(内部比较方式,请参见底层代码),如果调用该方法的字符串与被比较
           字符串(anotherString)相等,则,返回true;否则,返回false
          
    不同点:equals方法在比较的过程中,区分两个字符串的大小写;
          equalsIgnoreCase方法在比较的过程中,忽略两个字符串的大小写
         
   (参见: cn.com.string.equals)
  
(8) getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
    将调用该方法的字符串,从指定的srcBegin下标位置开始,到srcEnd下标位置结束
    进行截取,并将截取后的子字符串转换为char型字符,存入到dst的char[]数组对象
    中,并从指定的dstBegin小标位置开始进行复制
  
    注意: dst的容量要在被复制的字符范围内,且dstBegin要能在dst的有效范围内
   (参见:cn.com.string.getChars)
  
(9) indexOf(int ch) 与 indexOf(String str) 从左往右搜索指定字符或字符串,在调用该方法的字符串中第一次出现索引值
    indexOf(int ch, int fromIndex) 与 indexOf(String str, int fromIndex)
     从左往右以指定的下标位置(formIndex)开始,搜索指定字符或字符串在调用该方法的字符串中,第一次出现的索引值
  
(10) lastIndexOf(int ch) 与 lastIndexOf(String str) 从右往左搜索指定字符或字符串,在调用该方法的字符串中第一次出现索引值
     lastIndexOf(int ch,int fromIndex) 与 lastIndexOf(String str,int fromIndex)
      从右往左以指定的下标位置(formIndex)开始,搜索指定字符或字符串在调用该方法的字符串中,第一次出现的索引值
    
(11) isEmpty() 判断调用该方法的字符串是否为空(当且仅当 length() 为 0 时返回 true)

(12) length() 获取调用该方法的字符串中,具有的字符个数

(13) matches(String regex) 判断调用该方法的字符串是否与给定的正则表达式相匹配
      注意:regex是以字符串形式出现的正则表达式(正则表达式参考资料:正则表达式 和 java.util.regex.Pattern
      的API文档 和 常用正则表达式)
     (参见:cn.com.string.matches)
    
(14) replace(char oldChar, char newChar) 与 replace(CharSequence target, CharSequence replacement)
      将调用该方法的字符串中的原有字符(oldChar)或字符序列(target),替换为新的字符(newChar)或字符序列(replacement),
      并产生一个新的字符串返回
      注意:是对字符串中所有满足替换条件的oldChar或target进行替换操作
     (参见:cn.com.string.replace)
    
(15) split(String regex) 根据指定的正则表达式匹配拆分调用该方法的字符串,形成一个String[]对象
      注意:regex不仅可以是正则表达式,还可以是普通的字符串
     (参见:cn.com.string.split)
    
(16) substring(int beginIndex) 与 substring(int beginIndex, int endIndex)
      相同点:都是用于截取调用该方法的字符串的某一部分,形成一个子字符串
      不同点:带一个参数的substring是从指定的起始位置开始取子字符串,到被取字符串结束位置
             带两个参数的substring是从指定起始位置开始(包含起始点),到指定的目标位置(不包含目标位置)结束
     (参见:cn.com.string.substring)
    

    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值