Java中的值传递

1.先比较下字符串的比较
== 代表全等于 值和地址(存放地址) 全部相等于。
equals 值等于
== 和 equals的区别 列如下面的 如果name1==name2是等于的
然而name1==name3 结果 不是不等于的,因为生成了新的地址
如果 name1.equals(name3) 这个比较只要求值的比较,输出结果是相等的。
String name1="zhangsan";
String name2="zhangsan";
String name3=new String("zhangsan");
if(name1==name2){
System.out.println("等于");

new 表示强制开辟新的内存空间
}

2.在编程中,在方法调用之间复制数据的过程叫按值调用。
区分调用时 值的变化:

public static void mian(string[]args){

b=10;
test();System.out.println(test());
}

方法
public static int test(int a){
a =5;

}
结果输出是10

public static void mian(string[]args){

int[] nums={12,2,3,7}

test(nums);System.out.println(nums[0]);

}

方法
public static int test(int a){
a =5;

}
输出结果 是5

在Java中只有值传递 :

string字符串类型在内存中只能读,不能更改。虽然是引用类型,但是在调用时不会更改。

引用类型传递的是地址,是会修改原值的,会被方法覆盖,比如数组传递的也是地址

只传值的,是不会被覆盖修改的。

***

上一篇:HDU 1015 Safecracker【数值型DFS】


下一篇:solr_架构案例【京东站内搜索】(附程序源代码)