我有两种方法都可以从Arraylist中获取用户对象.
public User getUser(int userID) {
ListIterator<User> listIterator = listOfLoggedInUsers.listIterator();
User user;
while(listIterator.hasNext()) {
user = listIterator.next();
if (user.getID() == userID) {
return user;
}
}
return null;
}
public User getUser(String username) {
ListIterator<User> listIterator = listOfLoggedInUsers.listIterator();
User user;
while(listIterator.hasNext()) {
user = listIterator.next();
if (user.getUsername().equals(username)) {
return user;
}
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
由于方法只在if语句中有所不同,如何减少代码重复?例如,可以在参数中发送表达式/动态布尔值吗?