package cn.itcast.day09.demo2;
/*内容比较
public boolean equals(Object obj) 参数为任意对象 区分大小写
*只有参数是字符串且内容相同才会返回true
* */
public class Demo01StringEquals {
public static void main(String[] args) {
String str1 = "Hello";
String str2 = "Hello";
char[]charArray = {'H','e','l','l','o'};
String str3 = new String(charArray);
System.out.println(str1.equals(str2));//true
System.out.println(str1.equals(str3));//true
System.out.println(str3.equals("Hello"));//true
System.out.println("Hello".equals(str2));//true
//equals方法具有对称性,a.equals(b)与b.equals(a)一样
//常量与变量比较时,通常将变量写在括号内
String str4 = "abc";
System.out.println(str4.equals("abc"));//不推荐,可能会空指针异常
System.out.println("abc".equals(str4));//推荐
System.out.println("==================");
String strA = "Java";
String strB = "java";
System.out.println(strA.equals(strB));//false
System.out.println(strA.equalsIgnoreCase(strB));//true 忽略大小写
}
}
字符串的常用获取方法
package cn.itcast.day09.demo2;
/*String中的常用获取方法
* public int length() 获取长度
* public String concat(String str) 将当前字符串和参数字符串拼接返回成为新的字符串
* public char charAt(int index) 获取指定位置的单个字符
* public int indexOf(String str) 查找目标字符串在本字符串中首次出现的索引位置,若没有则返回-1*/
public class Demo02StringGet {
public static void main(String[] args) {
int length = "fawdsfhdskankjdfnakdfna".length();
System.out.println(length);
//拼接字符串
String str1 = "Hello";
String str2 = "World";
String str3 = str1.concat(str2);
System.out.println(str1);//不变
System.out.println(str2);//不变
System.out.println(str3);//Hello World 新的字符串 原字符串不变
System.out.println("=============");
//获取指定位置的单个字符charAt方法
System.out.println("Hello".charAt(1));//e
System.out.println("=============");
//查找目标字符串在本字符串中首次出现的索引位置,若没有则返回-1 indexOf 方法
String original = "HelloWorld";
int index = original.indexOf("llo");//2
System.out.println(index);
System.out.println(original.indexOf("abc"));//-1
}
}
截取方法
package cn.itcast.day09.demo2;
/*字符串截取方法
* public String substring (int index) 截取从参数位置到字符串末尾,返回新的字符串
* public String substring (int begin,int end) [begin,end)
*
*
* */
public class Demo03Substring {
public static void main(String[] args) {
String str1 = "HelloWorld";
String str2 = str1.substring(5);
System.out.println("str1 is "+str1);//没变
System.out.println("str2 is "+str2);//新的字符串
System.out.println("==============");
String str3 = str1.substring(4,7);
System.out.println(str3);//owo
String strA = "Hello";
//strA中为地址值,从Hello的地址变为java的地址
System.out.println(strA);//Hello
strA = "java";
System.out.println(strA);//java
}
}
转换方法
package cn.itcast.day09.demo2;
/*转换方法
* public char[] toCharArray() 拆分为字符数组
* public byte[] getBytes() 获得字符串底层字节数组
* public String replace(CharSequence oldString ,CharSequence newString) 所有老字符串替换为新字符串,返回新字符串
* CharSequence可以接收字符串*/
public class Demo04StringConvert {
public static void main(String[] args) {
char [] chars = "Hello".toCharArray();
//转换为字符数组
System.out.println(chars[0]);
System.out.println(chars.length);//5
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);
}
}
分割方法
package cn.itcast.day09.demo2;
/*分割字符串的方法
* public String[] spilt (String regex ) 按照参数规则将字符串分割为若干部分
* regex为正则表达式 若用英文句点.会出错,若用必须写"\\."
* spilt方法参数为 正则表达式*/
public class Demo05StringSplit {
public static void main(String[] args) {
String str1 = "aaa,bbb,ccc";//一个字符串
String[] array1 = str1.split(",");//按照,进行分割
for (int i = 0; i < array1.length; i++) {
System.out.println(array1[i]); //aaa bbb ccc
}
System.out.println("=================");
String str2 = "aaa.bbb.ccc";
String[] array2 = str2.split(".");//无法分割.
System.out.println(array2.length);//0
for (int i = 0; i < array2.length; i++) {
System.out.println(array2[i]);//输出为空
}
System.out.println("=================");
String str3 = "aaa.bbb.ccc";
String[] array3= str3.split("\\.");
System.out.println(array3.length);//0
for (int i = 0; i < array3.length; i++) {
System.out.println(array3[i]);//输出为空
}
}
}
练习
package cn.itcast.day09.demo2;
//将{1,2,3}拼接成[word1#word2#word3]
public class Demo06StringPractice {
public static void main(String[] args) {
int[] array = {1, 2, 3};
String result = fromArrayToSting(array);
System.out.println(result);
}
public static String fromArrayToSting(int[] array) {
String str = "[";
for (int i = 0; i < array.length; i++) {
if (i == array.length - 1) {
str += "word" + array[i] + "]";
} else {
str += "word" + array[i] + "#";
}
}
return str;
}
}