Java 字符串
String 字符串详解
- 实例化
String
对象
直接赋值
使用关键字new
String
的内容比较
- 字符串的内容不可更改
实例化
1 2 3 4 5 6 7 8
| public class StringDemo01{ public static void main(String[] args){ String str = new String("Hello"); System.out.println(str);
} }
|
内容比较
1 2 3 4 5 6 7 8 9 10 11
| public class StringDemo02{ public static void mian(String[] args){ int a = 10; int b = 10; System.out.println(a == b); String str1 = "Hello"; String str2 = new String("Hello"); System.out.println(str1 == str2); System.out.println(str1.equals(str2)); } }
|
不可更改
1 2 3 4 5 6 7 8
| public class StringDemo03{ public static void main(String[] args){ String str = "Hello"; String Str1 = Str+"World"; System.out.println(str1); } }
|
String 字符串常用方法
- 字符串长度:
length()
方法
- 字符串转换数组:
toCharArray()
方法
- 从字符串中取出指定的字符:
charAt()
方法
- 字符串与
byte
数组的转换:getBytes()
方法
- 过滤字符串中存在的字符:
indexOf()
方法
- 去掉字符串的亲厚空格:
trim()
方法
- 从字符串中取出子字符串:
subString()
方法
- 大小写转换:
toLowerCsae()
getUpperCsae()
方法
- 判断字符串的开头结尾字符:
endsWith()
startWith()
方法
- 替换 String 字符串中的一个字符:
replace()
方法
eclipse 整理代码快捷键ctrl+shift+F
1.length() 方法
1 2 3 4 5 6
| public class StringDemo04{ public static void main(String[] args){ String str = "jikexueyuan"; System.out.println(str.length()); } }
|
2.toCharArray() 方法
1 2 3 4 5 6 7 8 9
| public class StringDemo05{ public static void main(String[] args){ String str = "jikexueyuan"; char data[] = str.toCharArray(); for(int i = 0; i <= data.length; i++){ System.out.println(data[i]+" "); } } }
|
实现效果:
3.charAt() 方法
1 2 3 4 5 6
| public class StringDemo06{ public static void main(String[] args){ String str = "jikexueyuan"; System.out.println(str.charAt(7)); } }
|
4.getBytes() 方法
1 2 3 4 5 6 7 8 9 10
| public class StringDemo07{ public static void main(String[] args){ String str = "jikexueyuan"; byte bytes[] = str.getBytes(); for(int i = 0; i < bytes.length; i++){ System.out.println(new String(bytes)+"\t"); }
} }
|
5.indexOf() 方法
1 2 3 4 5 6
| public class StringDemo08{ public static void main(String[] args){ String str = "jikexueyuan@163.com"; System.out.println(str.indexOf("@")); } }
|
实现结果:
6.trim() 方法
1 2 3 4 5 6
| public class StringDemo08{ public static void main(String[] args){ String str = " jikexueyuan@163.com"; System.out.println(str.trim()); } }
|
StringBuffer 方法
- 认识
StringBuffer
:
缓冲区,本身也是操作字符串,但是与String
不同,StringBuffer
是可以被更改的
StringBuffer
是一个操作类,所以必须通过实例化操作
- StringBuffer 常用方法:
append()
: //追加
insert()
://插入
replace()
: //替换
indexOf()
: //过滤字符串中存在的字符
StringBuffer
类的应用
1. 实例化操作
1 2 3 4 5 6 7 8 9 10 11 12 13
| public class StringBufferDemo01{ public static void main(String[] args){ StringBuffer sb = new StringBuffer(); sb.append("jikexueyuan"); System.out.println(sb.toString()); tell(sb); System.out.println(sb.toString()); } public static void tell(StringBuffer s){ s.append("i love jikexueyuan"); } }
|
实现效果:
1 2
| jikexueyuan jikexueyuani love jikexueyuan
|
复原
1 2 3 4 5 6 7 8 9 10 11 12
| public class StringBufferDemo01{ public static void main(String[] args){ String sb = "Hello"; System.out.println(sb.toString()); tell(sb); System.out.println(sb.toString()); } public static void tell(String s){ s.append("i love jikexueyuan"); s = "helloii"; } }
|
实现效果:
2.append() 和 insert() 方法
1 2 3 4 5 6 7
| public class StringBufferDemo01{ public static void main(String[] args){ StringBuffer sbf = new StringBuffer(); sbf.append("Hello"); sbf.insert(0,"i love"); Syetem.out.println(sbf.toString()); }
|
实现效果:
3.replace() 方法
1 2 3 4 5 6 7 8 9
| public class StringBufferDemo01{ public static void main(String[] args){ StringBuffer sbf = new StringBuffer(); sbf.append("Hello"); sbf.insert(0,"i love"); Syetem.out.println(sbf.toString()); sbf.replace(1,3,"wwtliu"); Syetem.out.println(sbf.toString()); }
|
实现效果:
1 2
| i loveHello iwwtliuoveHello
|
4.StringBuffer 应用
1 2 3 4 5 6 7 8 9 10 11
| public class StringDemo05{ public static void main(String args[]){ StringBuffer str = new StringBuffer(); str.append("jikexueyuan"); for(int i = 0; i <= 100; i++){ str = append(i); } Syetem.out.println(str); }
|
StringBuider 用法
- 一个可变的字符序列,该类被设计作用 StringBuffer 的一个简单替换,用在字符缓冲区被单个线程使用的时候。建议优先考虑该类,速度比 StringBuffer 要快。
- 但是如果涉及到线程安全方面,建议使用 StringBuffer。
- 使用方法:
append()
insert()