我有一个类,Student有这个构造函数.
public Student(String name, int age, Map<String, Integer> grades) {
this.setName(name);
this.setAge(age);
this.setGrades(grades);
}
Run Code Online (Sandbox Code Playgroud)
在创建Student对象时,如何在构造函数中传递Map参数?
我们正在寻找的是类似的东西:
List<Student> roster = new ArrayList<>();
roster.add(new Student("Ann Droid", 145, Arrays.asList(96, 78)));
Run Code Online (Sandbox Code Playgroud)
如果我有这个构造函数:
public Student(String name, int age, List<Integer> grades) {
this.setName(name);
this.setAge(age);
this.setGrades(grades);
}
Run Code Online (Sandbox Code Playgroud)
香草味的普通Java没有任何地图的地图Arrays.asList().所以你必须初始化Map几行代码,如下所示:
Map<String, Integer> grades = new HashMap<String, Integer>();
grades.put("English", 90);
roster.add(new Student("Ann Droid", 145, grades);
Run Code Online (Sandbox Code Playgroud)
但是,使用Google的Guava,你可以这样做:
Map<String, Integer> grades = ImmutableMap.of("English", 90);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2575 次 |
| 最近记录: |