赞
踩
介绍:
1、String是finall类,不可以被继承,不可以被改变的字符串。
小提示:不可变的字符串对象,尽量少使用+=操作 ⭐
2、String表示字符串类型,属于
引用数据类型
,不属于基本数据类型。3、在java中随便使用
双引号括起来
的都是String对象。例如:“abc”,“你好”,“hello world!”,这是3个String对象。
4、在JDK当中双引号括起来的字符串,例如:“abc” "def"都是直接存储在“方法区”的“
字符串常量池
”当中的。为什么SUN公司把字符串存储在一个“字符串常量池”当中呢?
因为字符串在实际的开发中使用太频繁。为了执行效率,所以把字符串放到了方法区的字符串常量池当中。
例1:
- public static void main(String[] args) {
- String s1="hello";
- s1+="world";
- String s2=new String();
- }
上图中,String s1+=之前指向地址为“0x666”,+=之后指向地址变成:"0x888'。也就是说,指向了两个不同对象,所以String类型尽量不要+=运算,因为每运算一次都会产生垃圾内存,并且垃圾回收器不会回收字符串常量池内的东西 。
另外:通过字面量的方式(区别于new)给一个字符串赋值,此时的字符串值声明在字符串常量池中
总结1:String字符串具有不可变性,当字符串重新赋值时,不会在原来的内存地址进行修改,而是重新分配新的内存地址进行赋值。
2.当字符串进行拼接时,也不会在原来的内存地址进行修改,而是重新分配新的内存地址进行赋值。
方法名 | 作用 |
1. length() | 统计字符个数 |
2. equals equalsIgnoreCase方法 | equals是Object的方法,用来判断两个对象是否相同,在判断字符串时它判断的是两个对象的内容是否相同。 equalsIgnoreCase是String的判断方法,只能判断两个字符串。 |
3. trim方法 | 去掉字符串收尾的空格 |
4. substring方法 | 返回一个新的字符串,它是此字符串的一个子字符串。该子字符串始于指定索引处的字符,一直到此字符串末尾。 |
5. concat()方法 | 将几个字符串连接到一起 |
6. contains() | 用于判断字符串是否包含某个元素 |
7.int indexOf(String str) | 返回指定字符str在字符串中(方法调用者)第一次出现处的起始索引,如果此字符串中没有这样的字符,则返回 -1 |
8. lastIndexOf() | 返回str最后一次出现的位置 |
9. replace() | 替换字符串 |
10. split() | 将字符串以regex分割 !分隔符会把字符串拆成若干个子字符串,然后生成一个String数组 |
11. toLowerCase() toUpperCase() | toLowerCase()字符串转小写 toUpperCase()字符串转大写 |
实例:
- public class Demo2 {
- public static void main(String[] args) {
- String s0="kshkjgksa";
- System.out.println(s0.length());//9 字符串长度
-
- String s1="a";
- String s2=new String("a");
- System.out.println(s1.equals(s2));//true 判断值知否相等
-
- System.out.println("HELLO".equalsIgnoreCase("hello"));//true 忽略大小写
-
- System.out.println(" hello ".trim());//hello 去掉字符串收尾的空格
-
- System.out.println("hello world".substring(3));//lo world 截取字符串
- System.out.println("hello world".substring(3,7));//lo w 截取字符串
-
- String s = "厉害了,";
- String str1 = "我的";
- String str2 = "国!";
- s = s.concat(str1);//将字符串str1接到字符串s后面
- s = s.concat(str2);//将字符串str1接到字符串s后面
- System.out.println(s);//厉害了,我的国!
-
- //判断
- String s3 = "hello world 中国人";
- System.out.println(s3.contains("hello"));//true
- String str = "01234567890123456789";
- System.out.println(str.indexOf("123"));//1
- System.out.println(str.indexOf("123",5));//11 //从第五位开始查找
- System.out.println(s3.lastIndexOf("hello"));//0
- System.out.println(s3.startsWith("hello"));//true
- System.out.println(s3.endsWith("国人"));//true
-
- String s4 ="1a2";
- String[] split = s4.split("a");
- //split:{"1","2"}
- for (int i = 0; i < split.length; i++) {
- System.out.println(split[i]);
- }
-
-
- //替换 hello java 中国人
- String s5 = "hello world 中国人";
- System.out.println(s5.replace("world","java"));//hello java 中国人
- System.out.println(s5.replace("world",""));//hello 中国人
- System.out.println("hellohellohello".replace("hello","ok"));//okokok
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。