欢迎光临散文网 会员登陆 & 注册

尚硅谷Java笔记Day30

2023-02-21 18:53 作者:灯窗_  | 我要投稿

###### String

String是不可变性

final,不可继承

本质上是char型数组

```java

public class StringTest {  

    public static void main(String[] args) {  

        String s1 = "abc";  

        String s2 = "abcd";  

        System.out.println(s2);  

        String s3 = s2.replace("a", "m");  

        System.out.println(s2);  

        System.out.println(s3);  

        s2 += "我是猫";  //+拼接的赋值操作

        System.out.println(s2);  

    }  

}


C:\Users\Administrator\.jdks\openjdk-19.0.2\bin\java.exe "-javaagent:D:\IntelliJ IDEA Community Edition 2021.3.2\lib\idea_rt.jar=10102:D:\IntelliJ IDEA Community Edition 2021.3.2\bin" -Dfile.encoding=UTF-8 -classpath "D:\Java work\workspace_idea1\out\production\day01" com.atguigu.java.StringTest

abcd

abcd

mbcd

abcd我是猫


Process finished with exit code 0


```

String s1=new String("abc")

造了两个对象,一个是堆空间的new的对象,另一个是char型数组

String s2=new String("abc")

**堆**空间地址值不同,s1,s2不同

s1所在的位置叫做**栈**


构造器构造中的形参String类型,其new的对象地址值直接指向**方法区** **字符串常量池** 中的char型数组,本质上假如内容相同的话是,".equals"的结果是true.


只要存在变量名的,相当于new了一个对象,存在于堆空间中;

常量与常量的拼接结果在常量池。且常量池中不会存在相同内容的常量。

只要其中有一个是变量,结果就在堆中

如果拼接的结果调用intern()方法,返回值就在常量池中

```java

import org.junit.Test;  

  

/**  

 * @author ulkagg  

 * @create 2023-02-1919:10  

 */public class StringTest2 {  

    @Test  

    public void Test() {  

        String s1 = "abc";  

        String s2 = "def";  

        String s3 = "abc" + "def";  

        String s4 = s1 + "def";  

        String s5 = s1 + s2;  

        System.out.println(s3==s4);  

  

    }  

}

```


***引用数据类型传递地址值,基本数据类型传递数据***

###### String常用方法 p19

 int length():返回字符串的长度: return value.length


 char charAt(int index): 返回某索引处的字符return value[index]


 boolean isEmpty():判断是否是空字符串:return value.length == 0


 String toLowerCase():使用默认语言环境,将 String 中的所有字符转换为小写


 String toUpperCase():使用默认语言环境,将 String 中的所有字符转换为大写


 String trim():返回字符串的副本,忽略前导空白和尾部空白


 boolean equals(Object obj):比较字符串的内容是否相同


 boolean equalsIgnoreCase(String anotherString):与equals方法类似,忽略大


小写


 String concat(String str):将指定字符串连接到此字符串的结尾。 等价于用“+”


 int compareTo(String anotherString):比较两个字符串的大小


 String substring(int beginIndex):返回一个新的字符串,它是此字符串的从


beginIndex开始截取到最后的一个子字符串。


 String substring(int beginIndex, int endIndex) :返回一个新字符串,它是此字


符串从beginIndex开始截取到endIndex(不包含)的一个子字符串。

这两天心情不太好,加油,发个笔记给自己打打气


尚硅谷Java笔记Day30的评论 (共 条)

分享到微博请遵守国家法律