java中的字符串
API:java提供的应用程序接口、暴漏出来能直接使用的。
String类:String类代表字符串、Java 程序中的所有字符串字面值(如 "abc"
)都作为此类的实例实现。
字符串因其是常量类,一被初始化就无法被改变。每次new一个字符串就会产生一个新的对象,即使两个
字符串的内容相同,两个相同的字符串使用‘==’比较结果为false,因为是两个不同的对象,若需比较内容是否相同则用equals()方法。
创建String对象的方法:
StringDemo:
class StringDemo { public static void main(String[] args) { /* String s1 = "abc";//s1是一个类类型变量, "abc"是一个对象。 //字符串最大特点:一旦被初始化就不可以被改变。 String s2 = new String("abc"); //s1和s2有什么区别? //s1在内存中有一个对象。 //s2在内存中有两个对象。 System.out.println(s1==s2); System.out.println(s1.equals(s2));//String类复写了Object类中equals方法, //该方法用于判断字符串是否相同。 */ String s = "abcde"; } /* String类是对字符串事物的描述。 该类定义了专门用于操作字符串的方法。 "abc": */ } }
字符串的常用方法:
1 String类适用于描述字符串事物。 2 那么它就提供了多个方法对字符串进行操作。 3 4 常见的操作有哪些? 5 "abcd" 6 7 1,获取。 8 1.1 字符串中的包含的字符数,也就是字符串的长度。 9 int length():获取长度。 10 1.2 根据位置获取位置上某个字符。 11 char charAt(int index): 12 1.3 根据字符获取该字符在字符串中位置。 13 int indexOf(int ch):返回的是ch在字符串中第一次出现的位置。 14 int indexOf(int ch, int fromIndex) :从fromIndex指定位置开始,获取ch在字符串中出现的位置。 15 16 int indexOf(String str):返回的是str在字符串中第一次出现的位置。 17 int indexOf(String str, int fromIndex) :从fromIndex指定位置开始,获取str在字符串中出现的位置。 18 19 int lastIndexOf(int ch) : 20 21 22 2,判断。 23 2.1 字符串中是否包含某一个子串。 24 boolean contains(str): 25 特殊之处:indexOf(str):可以索引str第一次出现位置,如果返回-1.表示该str不在字符串中存在。 26 所以,也可以用于对指定判断是否包含。 27 if(str.indexOf("aa")!=-1) 28 29 而且该方法即可以判断,又可以获取出现的位置。 30 31 2.2 字符中是否有内容。 32 boolean isEmpty(): 原理就是判断长度是否为0. 33 2.3 字符串是否是以指定内容开头。 34 boolean startsWith(str); 35 2.4 字符串是否是以指定内容结尾。 36 boolean endsWith(str); 37 2.5 判断字符串内容是否相同。复写了Object类中的equals方法。 38 boolean equals(str); 39 2.6 判断内容是否相同,并忽略大小写。 40 boolean equalsIgnoreCase(); 41 42 3,转换。 43 3.1 将字符数组转成字符串。 44 构造函数:String(char[]) 45 String(char[],offset,count):将字符数组中的一部分转成字符串。 46 47 静态方法: 48 static String copyValueOf(char[] ch); 49 static String copyValueOf(char[] data, int offset, int count) 50 51 static String valueOf(char[]): 52 53 54 3.2 将字符串转成字符数组。** 55 char[] toCharArray(): 56 57 3.3 将字节数组转成字符串。 58 String(byte[]) 59 String(byte[],offset,count):将字节数组中的一部分转成字符串。 60 61 3.4 将字符串转成字节数组。 62 byte[] getBytes(): 63 3.5 将基本数据类型转成字符串。 64 static String valueOf(int) 65 static String valueOf(double) 66 67 //3+"";//String.valueOf(3); 68 69 特殊:字符串和字节数组在转换过程中,是可以指定编码表的。 70 71 4,替换 72 String replace(oldchar,newchar); 73 74 5,切割 75 String[] split(regex); 76 77 6,子串。获取字符串中的一部分。 78 String substring(begin); 79 String substring(begin,end); 80 81 7,转换,去除空格,比较。 82 7.1 将字符串转成大写或则小写。 83 String toUpperCase(); 84 String toLowerCase(); 85 86 7.2 将字符串两端的多个空格去除。 87 String trim(); 88 89 7.3 对两个字符串进行自然顺序的比较。 90 int compareTo(string);
字符串基本常用方法(详解):
1 /** 2 String类的常用方法: 3 1.获取: 4 1.1:获取字符串中包含的字符数,也就是长度 5 StringObject.length(); 6 1.2:根据位置获取字符串上的字符 7 StringObject.charAt(int index); 8 1.3:根据字符获取该字符所在的位置索引 9 StringObject.indexOf(int ch):返回的是ch所在位置的索引(第一次出现的位置) 10 StringObject.indexOf(int ch, int fromIndex):从formIndex开始查找ch在字符串中的索引() 11 StringObject.indexOf(String str):返回str所在字符串中的索引(第一次出现的位置) 12 StringObject.indexOf(String str, int fromIndex):从fromIndex开始寻找str在字符串中的索引 13 14 StringObject.lastIndexOf(int ch):反向寻找ch的索引 15 StringObject.lastIndexOf(int ch, int fromIndex):从fromIndex开始,反向寻找ch的索引 16 StringObject.lastIndexOf(String str):反向寻找str的索引 17 StringObject.lastIndexOf(String str, int fromIndex):从fromIndex开始反向寻找str的索引 18 19 2.判断: 20 2.1:判断字符串中是否包含另一字符 21 StringObject.contains(String str):判断字符串中是否包含str 22 indexOf(String str)也可判断,且其还会返回str的索引。 23 2.2:判断一字符串是否为空(是否有内容) 24 StringObject.isEmpty:判断字符串是否为空 25 2.3:判断字符串是否以指定内容开头 26 StringObject.startsWith(String str):判断字符串是否以str开头 27 2.4:判断字符串是否以指定内容结尾 28 StringObject.endsWith(String str):判断字符串是否以str结尾 29 2.5:判断字符串内容是否相同 30 StringObject.equals(String str):判断字符串是否与str相同 31 2.6:忽略大小写,判断字符串内容是否相同 32 StringObject.equalsIgnoreCase(String str):与str比较,不考虑大小写 33 3.转换:(字符串和字节数组在转换过程中可以指定编码表) 34 3.1:将字符数组转换为字符串 35 构造函数:new String(char [] ch):将ch转换为字符串返回 36 new String(char [] ch , int offset, int len):将ch从offset索引开始转换长度为len的字符 37 静态方法:static String.copyValueOf(char [] ch):将ch作为字符串返回 38 static String.copyValueOf(char [] ch, int offser, int len):从ch的offset索引开始,转换一个长度为len的字符串,并将其返回。 39 40 static String.valueOf(char [] ch):将ch作为字符串返回 41 3.2:将字符串转换为数组 42 StringObject.toCharArray():将字符串转换为char数组返回。 43 3.3:将基本数据类型转换为字符串并返回 44 StringObject.valueOf(int i) 45 StringObject.valueOf(long l) 46 StringObject.valueOf(char c) 47 StringObject.valueOf(float f) 48 StringObject.valueOf(double d) 49 StringObject.valueOf(boolean b) 50 StringObject.valueOf(Object obj) 51 StringObject.valueOf(char [] ch) 52 StringObject.valueOf(char [] ch, int offset, int len):将ch从offset索引开始转换为长度为len的字符串 53 3.4:将字符串转换为字节数组 54 StringObject.getBytes(); 55 3.5:将字节数组转换为字符串 56 构造函数:new String(byte [] by) 57 new String(byte [] by, int offset, int len)将字节数组的一部分转换为字符串 58 4.替换 59 StringObject.replace(Char oldChar, Char newChar) 60 5.切割 61 StringObject.split() 62 ...... 63 6.子串 64 6.1:获取字符串中的一部分 65 StringObject.substring(int begin):返回一个字符串,从begin开始到末尾 66 StringObject.substring(int begin, int end):返回从begin开始到end结束的字符串(包含头部,不包含尾部) 67 7.转换 68 7.1:去除两端空格 69 StringObject.trim():去除字符串两端的空格 70 7.2:对字符串进行自然顺序的比较 71 StringObject.compareTo(String str):按字典顺序与str比较。 72 如果参数字符串等于此字符串,则返回值 0;如果此字符串按字典顺序小于字符串参数,则返回一个小于 0 的值; 73 如果此字符串按字典顺序大于字符串参数,则返回一个大于 0 的值。 74 7.3:转换大小写 75 StringObject.toLowerCase():将字符串转换为小写 76 StringObject.toUpperCase():将字符串转换为大写 77 78 79 80 */