美文网首页
String的不变性

String的不变性

作者: 坠叶飘香 | 来源:发表于2019-04-18 22:50 被阅读0次

1.字符串当成参数传递,在方法里被修改,原来的字符串不会被改变

public static void main(String[] args) {
  String str1 = "demo1";
  String str2 = "demo2";
  str1 = str2;
        
  System.out.println("1 str1:" + str1);  //输出:1 str1:demo2     str1被改变
        
  changeParam(str1);
  System.out.println("2 str1:" + str1);  //输出:2 str1:demo2     str1没有被改变
}
    
private static void changeParam(String value){
  value = "demo3";
}

2.两个字符串相等,改变其中一个字符串的值,另外一个字符串不会被改变

private static void check2(){
  String str1 = "demo1";
  String str2 = "demo2";
        
  str2 = str1;
        
  System.out.println("check2 str1 == str2:" + (str1 == str2));      //check2 str1 == str2:true
        
  str1 = "example1";
  System.out.println("check2 str1:" + str1);     //check2 str1:example1
  System.out.println("check2 str2:" + str2);     //check2 str2:demo1
        
  System.out.println("check2 str1 == str2:" + (str1 == str2));  //check2 str1 == str2:false
}

3.赋值相同字符串

等号赋值的两个String相等,通过new创建的不相等
private static void check4(){
  String str1 = "example";
  String str2 = "example";
  System.out.println("check4 str1 == str2:"+ (str1 == str2));    //check4 str1 == str2:true
        
  String str3 = new String("example");
  String str4 = new String("example");
  System.out.println("check4 str3 == str4:"+ (str3 == str4));   //check4 str3 == str4:false
}

参考:Java中String对象的不可变性

相关文章

  • 面试准备

    1. java基础 String源码阅读 String忽略大小写比较源码阅读 String的不变性 ArrayLi...

  • String的不变性

    1.字符串当成参数传递,在方法里被修改,原来的字符串不会被改变 2.两个字符串相等,改变其中一个字符串的值,另外一...

  • String-学习笔记(1)

    String对象的不变性 对String对象的任何改变都不会影响到原对象,相关的任何change操作都会生成新的对...

  • 关于Java中的不可变性

    1 场景 在面向对象编程里,不变性是一个有点冷门的话题,一般在考察String特性的面试题中比较常见,但其实不变性...

  • String-学习笔记(3)

    String对象的不变性说明 代码: 代码: 一旦一个string对象在堆中被创建出来,它就无法被修改,无论是什么...

  • Java的8个知识点

    1、字符串的不变性 下图展示了如下的代码运行过程:String s = "abcd";s = s.concat("...

  • String类的不变性的实现

    String就是对字符数组的封装。源码是这样编写的 我们可以看到String类中有一个字符数组,该数组被priva...

  • 【笔记1-String、Long 解析】精讲Java源码及大厂真

    1 String 1.1 不变性 我们常常听人说,HashMap 的 key 建议使用不可变类,比如说 Strin...

  • 理解 Java 核心基础精髓

    1、字符串不变性 下面这张图展示了这段代码做了什么 String s = "abcd"; s = s.concat...

  • 理解 Java 核心基础精髓

    1、字符串不变性 下面这张图展示了这段代码做了什么 String s = "abcd"; s = s.concat...

网友评论

      本文标题:String的不变性

      本文链接:https://www.haomeiwen.com/subject/etnxgqtx.html