String类
编写此篇博客是为了弥补之前欠下的基础,在很长一段时间里,我认为项目经验决定水平,但是发现自学项目部署时发现不仅仅自己搞不懂业务逻辑,很多java语句似懂非懂,完全没有写python语句的那般熟练感。
1.charAt()方法
charAt() 方法用于返回指定索引处的字符。索引范围为从 0 到 length() - 1。
代码示例如下:
package TestJava;
/*
* @Author: jun
* @Date:2022/10/4 20:04
* @概述:
*/
public class Test1 {
public static void main(String[] args) {
String s1 = "站起来不许躺";
String s2 = "lsp";
char result1 = s1.charAt(0);//索引字符串s1的第一个字符
char result2 = s2.charAt(2);
System.out.println("OutPut:");
System.out.println(result1);
System.out.println(result2);
System.out.println("s1的字符串长度是:"+s1.length());
}
}
输出结果如下:
2.compare to()方法
compareTo() 方法用于两种方式的比较:
(1)字符串与对象进行比较。
(2)按字典顺序比较两个字符串。
返回值:返回他们之间的长度差值
代码示例如下:
package TestJava;
/*
* @Author: jun
* @Date:2022/10/4 20:04
* @概述:
*/
public class Test1 {
public static void main(String[] args) {
String s1 = "站起来不许躺";
String s2 = "lsp";
String s3 = "abcd";
String s4 = "牛";
String s5 = "c";
System.out.println("OutPut:");
System.out.println("s1的字符串长度是:"+s1.length());
System.out.println("s2的字符串长度是:"+s2.length());
System.out.println("中文与英文比较会相差非常大:"+s2.compareTo(s1));
System.out.println("交换位置比较会得到一个相反的数:"+s1.compareTo(s2));
System.out.println("当单个汉字与单个字母比较时结果:"+s4.compareTo(s5));//这里其实是比较对应字符的大小(ASCII码顺序)
System.out.println("英文字符与英文字符相比较:"+s2.compareTo(s3));
}
}
3.compareToIgnoreCase() 方法
compareToIgnoreCase() 方法用于按字典顺序比较两个字符串,不考虑大小写。
代码示例如下:
package TestJava;
/*
* @Author: jun
* @Date:2022/10/5 10:44
* @概述:
*/
public class Test2 {
public static void main(String[] args) {
String s1 = "A";
String s2 = "a";
System.out.println("不考虑大小写的的比较:"+s1.compareToIgnoreCase(s2));
}
}
4.concat() 方法
concat() 方法用于将指定的字符串参数连接到字符串上。
代码示例如下:
package TestJava;
/*
* @Author: jun
* @Date:2022/10/5 10:44
* @概述:
*/
public class Test2 {
public static void main(String[] args) {
String s1 ="精神焦虑";
System.out.println(s1.concat("使人自卑"));
}
}
5.contentEquals() 方法
contentEquals() 方法用于将此字符串与指定的 StringBuffer 比较
代码示例如此下:
package TestJava;
/*
* @Author: jun
* @Date:2022/10/5 10:44
* @概述:
*/
public class Test2 {
public static void main(String[] args) {
String s1 = "ABC";
String s2 = "ABCD";
StringBuffer s3 = new StringBuffer("ABC");
boolean result = s1.contentEquals(s3);
System.out.println(result);
result = s2.contentEquals(s3);
System.out.println(result);
}
}
6.copyValueOf() 方法
有两种形式:
(1)public static String copyValueOf(char[] data): 返回指定数组中表示该字符序列的字符串。
(2)public static String copyValueOf(char[] data, int offset, int count): 返回指定数组中表示该字符序列的 字符串。
代码示例如下:
package TestJava;
/*
* @Author: jun
* @Date:2022/10/5 10:44
* @概述:
*/
public class Test2 {
public static void main(String[] args) {
char[] s1 = {'你','是','什','么','牛','马'};
String result = "";
result = result.copyValueOf(s1);
System.out.println(result);
result = result.copyValueOf(s1,1,4);
System.out.println(result);
}
}
7.endwith()方法
endsWith() 方法用于测试字符串是否以指定的后缀结束。
代码示例如下:
package TestJava;
/*
* @Author: jun
* @Date:2022/10/5 10:44
* @概述:
*/
public class Test2 {
public static void main(String[] args) {
String s1 = "笨重的行李放慢了你的脚步,是否应该放下行李全速向前?";
System.out.println(s1.endsWith("?"));
boolean result;
result = s1.endsWith("向前?");
System.out.println(result);
}
}
这里要定义Boolean类型来返回结果
8.equals() 方法
equals() 方法用于将字符串与指定的对象比较。
String 中 == 比较引用地址是否相同,equals() 比较字符串的内容是否相同:
String 类中重写了 equals() 方法用于比较两个字符串的内容是否相等
代码示例如下:
package TestJava;
/*
* @Author: jun
* @Date:2022/10/5 10:44
* @概述:
*/
public class Test2 {
public static void main(String[] args) {
String s1 = "Hello"; // String 直接创建
String s2 = "Hello"; // String 直接创建
String s3 = s1; // 相同引用
String s4 = new String("Hello"); // String 对象创建
String s5 = new String("Hello"); // String 对象创建
System.out.println(s1 == s1); // true, 相同引用
System.out.println(s1 == s2); // true, s1 和 s2 都在公共池中,引用相同
System.out.println(s1 == s3); // true, s3 与 s1 引用相同
System.out.println(s1 == s4); // false, 不同引用地址
System.out.println(s4 == s5); // false, 堆中不同引用地址
s1.equals(s3); // true, 相同内容
s1.equals(s4); // true, 相同内容
s4.equals(s5); // true, 相同内容
/**
* new出来的是在”堆中“,普通的创建是在公共池中
*/
}
}
9.isEmpty()
isEmpty() 方法用于判断字符串是否为空。
package TestJava;
/*
* @Author: jun
* @Date:2022/10/5 10:44
* @概述:
*/
public class Test2 {
public static void main(String[] args) {
String s1 = "难以置信";
String s2 = "";
String s3 = " ";
System.out.println(s1.isEmpty());
System.out.println(s2.isEmpty());
System.out.println(s3.isEmpty());
System.out.println(s3.length());
}
}