package com.atguigu.exer;
/**
* 一道面试题
*
* 自己的理解:(基本数据类型,引用数据类型)
* int传到形参里的是实参的值
* String,chai[]传到形参里的是实参的地址
* 方法里只能改变形参的值 对实参的值不会有影响;方法里如果改变所传的地址的值,会导致实参的值也改变 但是String是特例,不会改变,因为String有不可变性
*
* @author shkstart
* @create 2019 上午 11:32
*/
public class StringTest {
String str = new String("good");
char[] ch = { 't', 'e', 's', 't' };
int i = 1;
public void change(String str, char ch[],int i) {
str = "test ok";
ch[0] = 'b';
i = 2;
}
public static void main(String[] args) {
StringTest ex = new StringTest();
ex.change(ex.str, ex.ch,ex.i);
System.out.println(ex.str);//good
System.out.println(ex.ch);//best
System.out.println(ex.i);//1
}
}
String的不可变性代码理解
最新推荐文章于 2024-07-29 14:22:26 发布