package usuallyClass;
import java.util.ArrayList;
import java.util.List;
public class UsualString {
public static void main(String[] args) {
// 字符串构建的三种方法
String s1 = "Hello,world";
char[] c1 = {'H','e','l','l','o',',','w','o','r','l','d'};
String s2 = new String(c1);
String s3 = new String("Hello,world");
System.out.println(s1);
System.out.println(s2);
System.out.println(s3);
System.out.println("===============");
// 根据int参数找出char值
System.out.println(s1.charAt(0));
// 实现字符串的拼接,该方法不会改变原字符串,生成一个新字符串
String s4 = s1.concat(s3);
System.out.println(s4);
System.out.println(s1);
// endwith常用于查找文件后缀名
String s5 = "c:/a/index.html";
// 判断字符串是否以传入的字符串参数结尾,返回值为Boolean
System.out.println(s5.endsWith(".html"));
System.out.println("===============");
// 对字符串内容的比较
String s6 = "tom";
String s7 = new String("tom");
// 原因是s6存储在常量池,s7存储在堆区,这s6和s7的内存地址是不一样的
// 而equals方法,比较的是这两个字符串的内容是否相等
System.out.println(s6 == s7);//flase
System.out.println(s6.equals(s7));//true
// 字符串中的indexof方法
// 1.一个String参数,返回值为int,用于返回指定字符在此字符串中第一次出现处的索引。
System.out.println(s1.indexOf(",world"));
String s8 = "a1a2a3a4b1b2b3b4aaa";
System.out.println(s8.indexOf("a"));
// 2.两个参数,第一个为String,第二个参数为int型的索引值,从第二个参数处
// 来搜索第一个参数
System.out.println(s8.indexOf("a", 3));
System.out.println("===============");
// 通过编写方法来查询一个字符在字符串里出现了多少次
List<Integer> indexs = getIndexsOfStr(s8, 'a');
for (Integer index : indexs) {
System.out.println(index + "\t");
}
System.out.println("===============");
// 打印文件的后缀
String s9 = "d:/a/index.js";
// 这里lastIndexOf方法是指在字符串的最右边开始搜索,返回传入字符串的索引位置
int s9_1 = s9.lastIndexOf(".") + 1;
System.out.println(s9.lastIndexOf("."));
// 该处方法是从传入参数的位置开始分割字符串,返回新的字符串
String s9_2 = s9.substring(s9_1);
System.out.println(s9_2);
System.out.println("===============");
// 替换
String s10 = "abcabcabc";
// 全部替换
System.out.println(s10.replace("a", "A"));
// 只替换第一个匹配到的
System.out.println(s10.replaceFirst("a", "A"));
System.out.println("===============");
String s12 = "a-b-c-d-e-f";
// 根据传入的参数来分配数组,简单来说,就是传入参数,字符串里有什么,就去掉什么。
String[] s12s = s12.split("-");
// foreach遍历
for (String s : s12s) {
System.out.println(s);
}
String s13 = "20171108001";
// 测试此字符串是否以指定的前缀开始
System.out.println(s13.startsWith("20171108"));
// 变为大写
System.out.println(s12.toUpperCase());
String s14 = " hello,wolrd! ";
// 用于去除字符串两端的空格
String s15 = s14.trim();
System.out.println("#"+s14+"#");
System.out.println("#"+s15+"#");
}
public static List<Integer> getIndexsOfStr(String src, char c) {
// 先创建一个int包装类的集合
List<Integer> rs = new ArrayList<Integer>();
// 判断传入的字符串是否为空
if(null != src) {
// 将字符串通过tochararray方法改为char类型的数组
char[] cs = src.toCharArray();
// 接下来遍历数组
for(int i = 0; i < cs.length; i++) {
// 判断数组里的字符串是否与传入的char相同
if(cs[i] == c) {
// 如果相同就把i加到集合里面?这里是否是自动装箱?
rs.add(i);
}
}
}
return rs;
}
}
Java中String类里的一些常用方法
最新推荐文章于 2024-02-05 14:30:00 发布