Java HashMap方法/参数
使用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("
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获取更新的值