Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java HashMap方法/参数_Java_Parameter Passing - Fatal编程技术网

Java HashMap方法/参数

Java HashMap方法/参数,java,parameter-passing,Java,Parameter Passing,使用HashMap查看以下类定义 为什么不必像我在第二种方法中所做的那样,将方法的形式参数传递给局部参数 import java.util.HashMap; public class MapTester { private HashMap<String, String> phoneBook = new HashMap<String, String> (); public MapTester() { phoneBook.put("

使用HashMap查看以下类定义

为什么不必像我在第二种方法中所做的那样,将方法的形式参数传递给局部参数

import java.util.HashMap;

public class MapTester
{
    private HashMap<String, String> phoneBook = new HashMap<String, String> ();

    public MapTester()
    {
        phoneBook.put("Homer Jay Simpson", "(531) 9392 4587");
        phoneBook.put("Charles Montgomery Burns", "(531) 5432 1945");
        phoneBook.put("Apu Nahasapeemapetilon", "(531) 4234 4418");        
    }    

    public void enterNumber(String name, String number)
    {       
        phoneBook.put(name, number);
    }

    public String lookupNumber(String _name) 
    {          
      name = _name;  
      return phoneBook.get(name);
    }   
}
import java.util.HashMap;
公共类映射测试器
{
私有HashMap phoneBook=newhashmap();
公共地图测试器()
{
电话簿.put(“荷马·杰伊·辛普森”(531)93924587);
电话簿。put(“查尔斯·蒙哥马利·伯恩斯”(531)54321945);
电话簿。put(“Apu Nahasapeemapetilon”,“(531)42344418”);
}    
公共无效输入编号(字符串名称、字符串编号)
{       
电话簿。输入(姓名、号码);
}
公共字符串查找编号(字符串_名称)
{          
名称=_名称;
返回电话簿。获取(姓名);
}   
}

无需将参数复制到局部变量,因为这样您就有了同一变量的两个副本(
name
\u name
),而您只需要一个副本

此外,您可能需要将行更改为

String name = _name;

可以直接使用形式参数,而无需将其复制到本地参数中,因为在调用函数时,它将获得原始值

 public String lookupNumber(String _name) 
 {          
      return phoneBook.get(_name);
 }  
只有在使用getter和setter的情况下才有必要这样做,即使用setter设置局部变量,并使用getter获取更新的值