目录
String类是不可改变的,所以你一旦创建了String对象,那它的值就无法改变了。 如果需要对字符串做很多修改,那么应该选择使用StringBuffer & StringBuilder 类。
获取长度
public class StringDemo {
public static void main(String args[]) {
String palindrome = "Dot saw I was Tod";
int len = palindrome.length();
System.out.println( "String Length is : " + len );
}
}
连接字符串
方法1:
string1.concat(string2);
方法2:
String string1 = "saw I was ";
System.out.println("Dot " + string1 + "Tod");
charAt()
char charAt(int index) 返回指定索引处的 char 值。
String a = "123456789";
int b=a.charAt(7);
char c=a.charAt(7);
System.out.println(b+"-"+c);
compareTo()
比较字符
参数
referenceName -- 可以是一个 Byte, Double, Integer, Float, Long 或 Short 类型的参数。
返回值
- 如果指定的数与参数相等返回0。
- 如果指定的数小于参数返回 -1。
- 如果指定的数大于参数返回 1。
Integer x = 5;
System.out.println(x.compareTo(3));
System.out.println(x.compareTo(5));
System.out.println(x.compareTo(8));
equal()
boolean equals(Object anObject) 将此字符串与指定的对象比较。
getByte()
String a = "abc";
String b = "love";
System.out.println(a.getBytes());
System.out.println(b.getBytes());
列:
String a = "abc";
byte[] c=a.getBytes();
for (int i = 0; i < c.length; i++) {
System.out.println(c[i]);
}
indexOf()
indexOf() 方法有以下四种形式:
public int indexOf(int ch): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
public int indexOf(int ch, int fromIndex): 返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
int indexOf(String str): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
int indexOf(String str, int fromIndex): 返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
String str = "hello,this is a test";
String SubStr1 = "is";
System.out.println("查找字符i 第一次出现的位置 :" + str.indexOf('i'));
System.out.println("从第10个位置查找字符 s 第一次出现的位置 :" + str.indexOf('s', 10));
System.out.println("\"子字符串 SubStr1 第一次出现的位置:\" " + str.indexOf(SubStr1));
System.out.println("从第十五个位置开始搜索子字符串 SubStr1 第一次出现的位置 :" + str.indexOf(SubStr1, 11));
split()
String[] split(String regex) 根据给定正则表达式的匹配拆分此字符串。 |
String[] split(String regex, int limit) 根据匹配给定的正则表达式来拆分此字符串。 |
列:
public static void main(String args[]){
String str = "www-youj-com";
String[] temp;
String delimeter = "-"; // 指定分割字符
temp = str.split(delimeter); // 分割字符串
// 普通 for 循环
for(int i =0; i < temp.length ; i++){
System.out.println(temp[i]);
System.out.println("");
}
System.out.println("------java for each循环输出的方法-----");
String str1 = "www.w3cschool.cn";
String[] temp1;
String delimeter1 = "\\."; // 指定分割字符, . 号需要转义
temp1 = str1.split(delimeter1); // 分割字符串
for(String x : temp1){
System.out.println(x);
System.out.println("");
}
toCharArray()
char[] toCharArray() 将此字符串转换为一个新的字符数组
String Str = new String("www.runoob.com");
System.out.println( Str.toCharArray() );
toString()
返回此对象本身(它已经是一个字符串!)
toUpperCase()
使用默认语言环境的规则将此 String 中的所有字符都转换为大写
tirm()
返回字符串的副本,忽略前导空白和尾部空白
列:
String str = new String("aaaa11122233");
System.out.println("字符串的长度为:" + str.length());
// 将字符串转化成字符数组
char[] cs = str.toCharArray();
cs[0] = '我';
System.out.println("字符数组为:");
System.out.println(cs);
//将字符数组转化成字符串
String cs_str = new String(cs);
System.out.println("字符串为:"+cs_str);
//在字符串中 根据指定索引值获取对应的 字符值
System.out.println("返回指定索引处的 char值:"+str.charAt(1));// 返回指定索引处的 char 值
System.out.println("返回指定字符在字符串中第一次出现处的索引:"+str.indexOf("1"));
列
public class StringUtil {
public static void main(String[] args) {
String str=" madeaaa AAA inRaaa aaa ";
//获取字符串长度
int strLen=str.length();
System.out.println("字符串的长度:"+strLen);
//将字符串转化成字符数组
char[] cs_str=str.toCharArray();
System.out.println("字符数组的长度"+cs_str.length);
//根据索引位置 对字符串进行分割
System.out.print("字符数组倒序输出:");
String[] strs=str.split("");
for (int i = 0; i < strs.length; i++) {
System.out.print(strs[strs.length-1-i]+" ");//字符串数组倒序输出
}
System.out.println("");
//字符串截取
System.out.println("字符串截取"+str.substring(2, 6));
//返回指定字符在字符串第一次出现的索引位置
System.out.println("空格第一次出现的位置"+str.indexOf(" "));
//返回指定字符在字符串最后一次出现的索引位置
System.out.println("空格最后一次出现位置"+str.lastIndexOf(" "));
System.out.println("查找zzz最后一次出现位置,找不到返回-1:"+str.lastIndexOf("zzz"));//找不到返回-1
//将字符窜中的字母全部转化成小写
System.out.println("转换成小写字母"+str.toLowerCase());
//将字符串的字母全部转化成大写
System.out.println("转化成大写字母"+str.toUpperCase());
//去掉字符串中的左右空格
System.out.println("返回字符串的副本,忽略前导空白和尾部空白。"+str.trim());
//syso
System.out.println("替换:返回一个新的字符串"+str.replace(" ", ""));
}
}