Java(七)--字符串

2017-10-19  本文已影响0人  五秋木

1. String

  1. 构造字符串
    • String newString = new String("welcome to java");
    • String message = "welcome to java";
    • Char []charArray = {'G','o','o','d',' ','D','a','y'};
      String message = new String(charArray);
  2. 字符串对象不可变,字符串变量可变,字符串变量存储的是对象的引用。对于具有相同字符串序列的字符串直接量使用同一个实例。这种实例成为是"限定的"。
    例如:String s1="welcome";
    String s3="welcome";
    s1==s3 true;//两个变量引用同一个String对象。
  3. 比较
    • equals(s1 : String):boolean //是否相等
    • equalsIgnoreCase(s1:String):boolean //忽略大小写是否相等
    • compareTo(s1:String):int //比大小--相等为0,不等或者大于0或者小于0
    • compareToIgnoreCase() //忽略大小写比大小
    • regionMatches(index:int s1 :String s1Index:int len:int) :boolean //指定字符串精确匹配
    • regionMatches(ignoreCase:Boolean index:int s1 :String s1Index:int len:int) :boolean //是否区分大小写
    • startsWith(prefix:String) :boolean //是否以指定前缀开始
    • endsWith(suffix:String) :boolean //是否以指定后缀开始
  4. 长度、字符、组合字符串
    • length():int //与字符数组区别:
      属性:charArray.length
      方法:String.length()
    • charAt(index:int) char
    • concat(s1:String):String //返回一个连接后的新字符串,可以用‘+’号代替。
  5. 子串
    • substring(beginIndex:int) //从beginIndex开始到结束
    • substring(beginIndex:int endIndex:int):从beginIndex开始到endIndex-1之间的字符串。
  6. 转化、替换、分隔
  1. 模式匹配:正则表达式
    与正则表达式结合的函数:matches(String)、replaceAll()、replaceFirst()、split()
    *表示0个或者多个字符模糊字符相匹配。
    [char1char2char3]值匹配char1、char2或者char3
  2. 寻找字符或者字符串的位置
    • indexOf(char)
    • indexOf(ch:char, fromIndex:int)
    • indexOf(String)
    • indexOf(String, fromIndex:int)
      与lastIndexOf与indexOf()类似。
  3. 字符串与字符数组的转换
    1. 字符串转化到字符数组
      String.toCharArray();
      getChars(int srcBegin,int srcEnd,char[]dst,int dstBegin)//将下表从srcBegin开始到srcEnd-1的子串复制到字符数组dst中dstBegin开始的位置。
    2. 字符数组转化到字符串
      String str = new String (new char[]{'J','A','V','A'});
      String str =String.valueOf(new char[]{'J','A','V','A'})
  4. valueOf(a):其中a可以是char double float long int boolean等转化为String

Double.parseDouble(str)或者Integer.parseInt(str)将字符串转化为double或者int

  1. 格式化字符串format
    与printf类似,不过format是返回一个格式化字符串,printf是显示一个格式化字符串。
    例如:String str = String.format("%5.2f",45.556)

2. Character类

Java中基本类型都提供了一个包装类
Character类 --> char
Boolean类 --> boolean
Integet类 --> int
Byte类 --> byte
Short类 --> short
Long类 --> long
Float类 --> float
Double类 --> double

这些类都在包java.lang中
Character类中部分函数:

Character character  = new Character('a');  //创建字符对象
character.charValue()   //返回字符对象的char值。
character.compareTo(anotherCharacter : Character);//比较对象
character.equals(anotherCharacter : Character);  //对象是否相等
下面的为静态方法:
Character.isLetter(ch);   //是否为字母字符
Character.isDigit(ch);   //是否为数字字符
Character.isLetterOrDigit(ch);
Character.isUpperCase(ch);  //是否大写
Character.isLowerCase(ch);  //是否小写
Character.toUpperCase(ch);  //返回ch的大写
上一篇下一篇

猜你喜欢

热点阅读