String对象
字符串的特点:
1:字符串的内容永不可变
2:因为字符串内容不可变,所以字符串内容是可以共享的
3:字符串效果上相当于char[]型字符数组,底层原理是byte[]型字符数组
字符串常量池:
在程序当中直接经行赋值的字符串,就在常量池当中
对于基本类型来说,==是进行数值比较
对于引用类型来说,==是进行地址值比较
字符串的比较:
//字符串之间的比较, String str1="Hello"; String str2="Hello"; char s[]={‘H‘,‘e‘,‘l‘,‘l‘,‘o‘}; String str3=new String(s); System.out.println(str1.equals(str2));//ture System.out.println(str1.equals(str3));//ture System.out.println(str2.equals(str3));//ture System.out.println("Hello".equals(str3));//ture,推荐用法,不推荐str3.equals("Hello") System.out.println(str3.equals("hello"));//false,不忽略大小写 String str4="JAVA"; String str5="java"; System.out.println(str4.equalsIgnoreCase(str5));//ture ,不区分大小写
字符串获取的常用方法:
//字符串获取的常用方法 //public int length() 获取字符串的字符个数,返回字符串的长度 //public String concat(String str) 拼接字符串,并返回新的字符串 //public char charAt(index i) 获取指定索引位置的单个字符,返回字符 //public int indexof(String str) 查找参数字符在本字符串中首次出现的位置,没有就返回-1 String str1="hello world"; String str2="JAVA"; System.out.println("str1长度"+str1.length()); String str3=str1.concat(str2); System.out.println(str3); System.out.println(str1.charAt(6)); System.out.println("llo在字符串中首次出现的位置:"+str1.indexOf("llo"));
原文:https://www.cnblogs.com/BatmanY/p/11748998.html