package Gaojiyuyan; /* 创建字符串常见方式: public String(),创建空白字符串,不含内容。 public String(char[] array),根据字符串内容,来创建对应的字符串 public String(byte[] array),根据字节数组的内容,来创建对应的字符串 String str="hello";直接创建 */ public class Stringleichuangjian { public static void main(String[] args) { System.out.println("字符串的四种构造方法:"); //空参构造 String str1=new String(); System.out.println("第一个字符串:"+str1); //根据字符数组创建字符串 char[] charArray={'A','b'}; String str2=new String(charArray ); System.out.println("第二个字符串:"+str2); //根据字节数组创建字符串 byte[] byteArray={97,98,99}; String str3=new String(byteArray); System.out.println("第三个字符串:"+str3); //直接创建 String str4="hello"; System.out.println("第四个字符串:"+str4); System.out.println("**************************"); System.out.println("字符串的常量池"); /* 字符串常量池:程序当中直接写上的双引号字符串,就在字符串常量池中。 对于基本类型来说,==是进行数值的比较 对于引用类型来说,==是进行地址值的比较 */ String str5="abc"; String str6="abc"; char[] charArry={'a','b','c'}; String str7=new String(charArry); System.out.println(str5==str6); System.out.println(str5==str7); System.out.println(str6==str7); System.out.println("***********************"); System.out.println("字符串的比较相关方法"); /* ==是进行对象的地址值比较,若确实要对字符串的内容进行比较,可以使用两个方法: 1,public boolean equals(Object obj),参数可以是任何对象,只有参数是一个字符串并且内容相同的才会给true,否则false 备注:任何对象都能用Object进行接收。 equals方法具有对称性,a.equals(b)与b.equals(a)效果一样 如果双方一个常量,一个变量,推荐把常量字符串写在前面。推荐;"abc".equals(str) 2,,public boolean equalsIgnoreCase(String str),忽略英文字母大小写小进行比较 */ String str8="hello"; String str9="hello"; char[] charArry1={'h','e','l','l','o'}; String str10=new String(charArry1); System.out.println(str8.equals(str9)); System.out.println(str9.equals(str10)); System.out.println(str10.equals("hello")); System.out.println("hello".equals(str8)); String str11="Hello"; System.out.println(str8.equals(str11)); String str12="abc"; System.out.println("abc".equals(str12));//若“abc”改为null,则会出现false System.out.println(str5.equals("abc"));//若“abc”改为null,则会出现报错,空指针异常NullPointerException String strA="java"; String strB="Java"; System.out.println(strA.equals(strB));//false,严格区分大小写 System.out.println(strA.equalsIgnoreCase(strB));//true,忽略大小写 System.out.println("***************************"); System.out.println("字符串的获取相关方法:"); /* public int length(),获取字符串中含有的字符个数,拿到字符串长度。 public String concat (String str),将当前字符串和参数字符串拼接成返回值新的字符串 public char charAt(int index)获取指定索引位置的单个字符(索引从0开始) public int index of(String str)查找参数字符串在本字符串中首次出现的索引位置,若没有,返回-1值 */ //获取字符串的长度 int length="sdfghjkla".length(); System.out.println("字符串的长度是:"+length); //拼接字符串 String str13="Hello"; String str14="obs"; String str15=str13.concat(str14); System.out.println(str13); System.out.println(str14); System.out.println(str15);//新字符串 //获取指定索引位置的单个字符 char ch="hello".charAt(0); System.out.println("在0号索引位置的字符是:"+ch); //查找参数字符串在大字符串中出现的第一次索引位置 String original="Helloworld" ; int index= original.indexOf("l"); System.out.println("第一次索引值是:"+index); System.out.println("***************************"); System.out.println("字符串的截取相关方法:"); /* public String substring(int index):截取从参数位置一直到字符串末尾,返回新字符串 public String substring(int begin,int end):截取从begin开始,一直到end中间的字符串,是左闭右开区间。 */ String str16="helloworld"; String str17=str16.substring(2); System.out.println(str16); System.out.println(str17);//新字符串 String str18=str16.substring(2,7); System.out.println(str18); //strC中的地址值改变 String strC="hello"; System.out.println(strC);//hello strC="java"; System.out.println(strC);//java System.out.println("***************************"); System.out.println("字符串的转换相关方法:"); /* public char[] toCharArray(),将当前字符串拆分成为字符数组作为返回值 public byte[] getBytes(),获取当前字符串底层的字节数组 public String replace(CharSequence oldString,CharSequence newString)将所有出现的老字符串替换为新字符串,返回替换后的结果新字符串 */ System.out.println("转换成为字符数组:"); char[] chars="hello".toCharArray(); System.out.println(chars[0]); System.out.println(chars.length); System.out.println("********************************"); System.out.println("转换成为字节数组"); byte[] bytes = "abc".getBytes(); for (int i = 0; i < bytes.length; i++) { System.out.println(bytes[i]); } System.out.println("********************************"); String str20="jajfvfd"; String str21=str20.replace("j","f"); System.out.println(str20); System.out.println(str21);//j变成f String long1="哈哈哈,你大爷的"; String long2=long1.replace("你大爷的","和谐语句"); System.out.println(long2); System.out.println("***************************"); System.out.println("***************************"); System.out.println("字符串的分割方法:"); /* 分割字符串方法: public String【】 split(String regex);按参数规则,将字符串分成若干部分 特别的:对英文句点进行拆分,要写做("\\.") */ String str22="aaa,bbb,ccc"; String [] array23=str22.split(","); for (int i = 0; i < array23.length; i++) { System.out.println(array23[i]); } String str23="aaa bbb ccc"; String [] array24=str23.split("abc"); for (int i = 0; i < array24.length; i++) { System.out.println(array24[i]); } String str25="aaa.bbb.ccc"; String [] array26=str25.split("\\."); for (int i = 0; i < array26.length; i++) { System.out.println(array26[i]); } System.out.println("***************************8"); } }
String类的创建,比较,截取,获取,转换,分隔方法
最新推荐文章于 2024-09-10 10:21:38 发布