创建字符串常见的方式:
1、public String();创建一个空白字符串
2、public String(char[] array); 根据字符数组内容创建对应字符串
3、public String(byte[] array); 根据字节数组内容创建对应字符串
//1、使用空参构造
String str1 = new String();
System.out.println(str1);
//2、根据字符数组创建字符串
char[] charArray = {'a','b','c'};
String str2 = new String(charArray);
System.out.println(str2);
//3、根据字节数组创建字符串
byte[] byteArray = {97,98,99};
String str3 = new String(byteArray);
System.out.println(str3);
//4、
String str4 = "helloworld";
System.out.println(str4);
String转换相关的常用方法:
1、public char[] toCharArray():把当前字符串拆分为字符数组
2、public byte[] getBytes():获得当前字符串底层的字节数组
3、public String replace(CharSequence old , CharSequence new):将所有出现的老字符串替换为新字符串
char[] chars = "HelloWorld".toCharArray();
System.out.println(chars[0]);
System.out.println(chars.length);
System.out.println("----------------------------------");
//转换成为字节数组
byte[] bytes = "abc".getBytes();
for (int i = 0; i < bytes.length; i++) {
System.out.println(bytes[i]);
}
System.out.println(" ----------------------------------");
//
String str1 = "How do you do ?";
String str2 = str1.replace("o", "*");
System.out.println(str1);
System.out.println(str2);
字符串的截取方法:、
1、public String subString(int index)
2、public String subString(int begin , int end)
String str1 = "HelloWorld";
String str2 = str1.substring(5);
System.out.println(str1);
System.out.println(str2);
System.out.println("_______________________________");
String str3 = str1.substring(5,10);
System.out.println(str3);
//字符串的内容并没有改变,str4中保存的是地址值
//从hello变成java,只是其地址发生了变化
System.out.println("--------------------------------");
String str4 = "Hello";
System.out.println(str4);
str4 = "Java";
System.out.println(str4);
若需要对字符串内容进行比较,可以使用两个方法:
1、public boolean equals(Object obj);参数可以是任何对象
(1)任何对象都能用Object接收,只有参数为一个字符串并且内容相同才会true,否则为False
(2)equals方法具有对称性
(3)如果比较双方一个变量一个常量,推荐把常量字符串写在前面:“abc”.equals(str)为推荐格式
2、public boolean equalsIgnoreCase(String str) :忽略大小写进行内容比较
String str1 = "Hello";
String str2 = "Hello";
char[] charArray = {'H','e','l','l','o'};
String str3 = new String(charArray);
System.out.println(str1.equals(str2));//根据内容进行比较
System.out.println(str2.equals(str3));
System.out.println(str3.equals("Hello"));
System.out.println("Hello".equals(str1));
System.out.println("-------------------------------------");
String strA = "Java";
String strB = "java";
System.out.println(strA.equals(strB));
System.out.println(strA.equalsIgnoreCase(strB));
String当中与获取相关的常用方法:
1、public int length():获取字符串中含有的字符个数,拿到字符串长度;
2、public String concat(String str):将当前字符串与参数字符串拼接成为返回值新的字符串
3、public char charAt(int index):获取指定索引位置的单个字符(从0开始)
4、public int indexOf(String str):查找参数字符串在本字符串中首次出现的索引位置,若没有则返回-1值
要向ArrayList中存储基本数据类型, 必须使用基本类型对应的包装类
//获取字符串的长度
int length = "dahogaogfoauhdiahoamalmdamndjkadk".length();
System.out.println("数组长度为"+length);
System.out.println("------------------------------");
//拼接字符串
String str1 = "Hello";
String str2 = "World";
String str3 = str1.concat(str2);
System.out.println(str1);
System.out.println(str2);//str1 、str2不变,字符串为常量,不可改变
System.out.println(str3);//新的字符串HelloWorld
System.out.println("-------------------------------");
//获取指定索引位置的单个字符
char c = "HelloWorld".charAt(3);
System.out.println("在第3号索引位置的单个字符为"+c);
System.out.println("-------------------------------");
//查找参数字符串在本来字符串当中出现的第一次索引位置,如果没有,返回-1
String origin = "HelloWorldHelloWorld";
int llo = origin.indexOf("llo");
System.out.println("第一次索引值为"+llo);
分割字符串的方法
public String[] split(String regex);按参数规则,将字符串拆分成为若干部分。
注意事项:split方法的参数其实是一个 “正则表达式” ,
若按英文句点进行切分,必须写成 “\.”(两个反斜杠)
String str1= "aaa,bbb,ccc";
String[] result = str1.split(",");
for (int i = 0; i < result.length; i++) {
System.out.println(result[i]);
}
System.out.println("----------------------------");
String str2= "aaa bbb ccc";
String[] result2 = str2.split(" ");
for (int i = 0; i < result.length; i++) {
System.out.println(result2[i]);
}
System.out.println("---------------------------");
String str3 = "aaa.bbb.ccc";
String[] result3 = str3.split("\\.");
for (int i = 0; i < result3.length; i++) {
System.out.println(result3[i]);
程序中直接写上的双引号字符串,就在字符串常量值当中。
1、对于基本类型, == 是数值的比较
对于引用类型, == 是地址的比较
2、双引号直接写的字符串在常量池中
new的不在常量池中
String str1 = "abc";
String str2 = "abc";
char[] charArray = {'a','b','c'};
String str3 = new String(charArray);
System.out.println(str1 == str2);
System.out.println(str2 == str3);
System.out.println(str1 == str3);
byte --> Byte
short -->Short
Int -->Integer
long -->Long
float -->Float
double --> Double
char --> Character
boolean --> Boolean
(装箱:基本类型—>包装类
拆箱:包装类—>基本类型)
ArrayList的常用方法:
1、public boolean add(E e):向集合中添加元素,参数类型与泛型一致
2、public E get(int index):从集合中获取元素,参数为索引编号
3、public E remove(int index):从集合中删除元素
4、public int size():获取集合的长度
ArrayList<String> list = new ArrayList<>();
//遍历ArrayList
for(int i ; i < one.size(); i++){
System.out.println(one.get(i);
}