您的位置:首页 > 编程语言 > Java开发

通过2个实例分析java参数传递时按值传递还是按引用传递

2017-01-13 16:31 585 查看
直接上代码吧


public class TestMap {
public static void main(String[] args) {
Map<String, Map<String, String>> map = new HashMap<String, Map<String,String>>();
Map<String, String> innerMap = new HashMap<>();
innerMap.put("inner1key", "inner1value");
innerMap.put("inner2key", "inner2value");
map.put("out", innerMap);
System.out.println(map);
TestMap.test(map);
System.out.println(map);
}
public static void test(Map<String, Map<String, String>> map){
Map<String, String> innerMap = new HashMap<>();
innerMap = map.get("out");
innerMap.clear();
}
}

输出
{out={inner1key=inner1value, inner2key=inner2value}}

{out={}}

public class TestBase {

public static void main(String[] args) {
int mainvalue = 100;
TestBase.test(mainvalue);
System.out.println("mainvalue"+mainvalue);
}
public static void test(int value){
value = 0;
System.out.println("test---value"+value);
}
}

输出
test---value0

mainvalue100

有没有发现问题呢?

当参数为基本数据类型时 我们的参数时按值传递的  当参数为非基本数据类型时 我们的参数传递是按引用传递的 即我们传递的只是对象地址
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐