在 Java 文件中出现 "The method isEmpty() is undefined for the type Optional" 错误
Getting "The method isEmpty() is undefined for the type Optional" Error in Java File
我的 Eclipse Java 编译器无法识别我代码中的 isEmpty 方法。我知道 isEmpty 来自 Java 1.6,但我使用的是 1.8。我也试过导入 org.apache.commons.lang.StringUtils,但这不起作用。我错过了什么?
@Repository("fakeDao")
public class FakePersonDataAccessService implements PersonDao {
private static List<Person> DB = new ArrayList<>();
@Override
public int insertPerson(UUID id, Person person) {
DB.add(new Person(id, person.getName()));
return 1;
}
@Override
public List<Person> selectAllPeople() {
return DB;
}
@Override
public int deletePersonById(UUID id) {
Optional<Person> personMaybe = selectPersonById(id);
if (personMaybe.isEmpty()) {
return 0;
}
DB.remove(personMaybe.get());
return 1;
}
@Override
public Optional<Person> selectPersonById(UUID id) {
return DB.parallelStream()
.filter(person -> person.getId().equals(id))
.findFirst();
}
@Override
public int updatePersonById(UUID id, Person person) {
return 0;
}
}
Optional
的 isEmpty
方法直到 Java 11.
才添加
对于 Java 8 你将不得不使用 ! isPresent()
我的 Eclipse Java 编译器无法识别我代码中的 isEmpty 方法。我知道 isEmpty 来自 Java 1.6,但我使用的是 1.8。我也试过导入 org.apache.commons.lang.StringUtils,但这不起作用。我错过了什么?
@Repository("fakeDao")
public class FakePersonDataAccessService implements PersonDao {
private static List<Person> DB = new ArrayList<>();
@Override
public int insertPerson(UUID id, Person person) {
DB.add(new Person(id, person.getName()));
return 1;
}
@Override
public List<Person> selectAllPeople() {
return DB;
}
@Override
public int deletePersonById(UUID id) {
Optional<Person> personMaybe = selectPersonById(id);
if (personMaybe.isEmpty()) {
return 0;
}
DB.remove(personMaybe.get());
return 1;
}
@Override
public Optional<Person> selectPersonById(UUID id) {
return DB.parallelStream()
.filter(person -> person.getId().equals(id))
.findFirst();
}
@Override
public int updatePersonById(UUID id, Person person) {
return 0;
}
}
Optional
的 isEmpty
方法直到 Java 11.
对于 Java 8 你将不得不使用 ! isPresent()