Java(七)--字符串
2017-10-19 本文已影响0人
五秋木
1. String
- 构造字符串
- 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);
- 字符串对象不可变,字符串变量可变,字符串变量存储的是对象的引用。对于具有相同字符串序列的字符串直接量使用同一个实例。这种实例成为是"限定的"。
例如:String s1="welcome";
String s3="welcome";
s1==s3 true;//两个变量引用同一个String对象。 - 比较
- 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 //是否以指定后缀开始
- 长度、字符、组合字符串
- length():int //与字符数组区别:
属性:charArray.length
方法:String.length() - charAt(index:int) char
- concat(s1:String):String //返回一个连接后的新字符串,可以用‘+’号代替。
- length():int //与字符数组区别:
- 子串
- substring(beginIndex:int) //从beginIndex开始到结束
- substring(beginIndex:int endIndex:int):从beginIndex开始到endIndex-1之间的字符串。
- 转化、替换、分隔
- toLowerCase():String //转化为小写
- toUpperCase():String //转化为大写
- trim() :String //去掉空白字符之后的新字符串
- replace(oldchar :char newchar:char ):String //对字符操作
- replaceFirst(oldString newString); //换掉第一个出现的oleString
- replaceAll(oldString newString); //换掉所有出现的oldString
- split(delimiter:String) : String[] //返回用定界符分割的字符串构成字符串数组。
- 模式匹配:正则表达式
与正则表达式结合的函数:matches(String)、replaceAll()、replaceFirst()、split()
*表示0个或者多个字符模糊字符相匹配。
[char1char2char3]值匹配char1、char2或者char3 - 寻找字符或者字符串的位置
- indexOf(char)
- indexOf(ch:char, fromIndex:int)
- indexOf(String)
- indexOf(String, fromIndex:int)
与lastIndexOf与indexOf()类似。
- 字符串与字符数组的转换
- 字符串转化到字符数组
String.toCharArray();
getChars(int srcBegin,int srcEnd,char[]dst,int dstBegin)//将下表从srcBegin开始到srcEnd-1的子串复制到字符数组dst中dstBegin开始的位置。 - 字符数组转化到字符串
String str = new String (new char[]{'J','A','V','A'});
String str =String.valueOf(new char[]{'J','A','V','A'})
- 字符串转化到字符数组
- valueOf(a):其中a可以是char double float long int boolean等转化为String
Double.parseDouble(str)或者Integer.parseInt(str)将字符串转化为double或者int
- 格式化字符串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的大写