【发布时间】:2018-09-29 16:29:34
【问题描述】:
我有一个按钮,当单击该按钮时,它会循环通过 ArrayList<User> 并尝试将 emailText 文本与对象 getEmail() 匹配。
btnLogin = new JButton("Login");
btnLogin.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
User declaredUser = App.getUsers().stream()
.filter(o -> o.getEmail().equalsIgnoreCase(emailText.getText())).findFirst().get());
当电子邮件确实存在并且.get() 返回declaredUser 时,它可以正常工作。但是,当没有匹配时,我收到此错误:
线程“AWT-EventQueue-0”java.util.NoSuchElementException 中的异常:不存在值
我试过像这样添加!= null:
User declaredUser;
if ((declaredUser = App.getUsers().stream()
.filter(o -> o.getEmail().equalsIgnoreCase(emailText.getText())).findFirst().get()) != null) {
// Code here ...
}
但是,我仍然收到此错误。谁能指出我首先检查findFirst() 返回值的正确方向?谢谢
【问题讨论】:
标签: java stream java-stream