繁体   English   中英

HashMap方法/参数

[英]HashMap method/ parameter

请参阅下面的使用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);
    }   
}

不必将参数复制到局部变量,因为这样一来,您将只有两个变量( name_name )的两个副本。

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

String name = _name;

使其编译。

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

 public String lookupNumber(String _name) 
 {          
      return phoneBook.get(_name);
 }  

仅在使用getter和setter的情况下才有必要,在这种情况下,您可以使用setter设置局部变量,并使用getter获取更新值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM