【发布时间】:2021-05-30 06:09:29
【问题描述】:
尝试使用此代码学习函数式 Java,但我的 Person 构造函数不接受枚举值,给出编译错误,并且没有采用命名参数导致语法错误。请指出我正在犯的错误。
package imperative;
import java.util.List;
public class Main {
private static String name;
public static void main(String[] args) {
List<Person> people = List.of(
new Person(name:"John",MALE),
new Person(name:"Alexa",FEMALE),
new Person(name:"Sam",MALE),
new Person(name:"Maria",FEMALE),
new Person(name:"Drake",MALE)
);
}
class Person{
private final String name;
private final Gender gender;
public Person(String name, Gender gender) {
super();
this.name = name;
this.gender = gender;
}
@Override
public String toString() {
return "Person [name=" + name + ", gender=" + gender + "]";
}
}
enum Gender{
MALE,FEMALE
}
}
【问题讨论】:
-
这能回答你的问题吗? How to pass an enum value to a constructor