Return or not return
次のコードをコンパイルした時、コンパイルエラーが出るメソッドはどれでしょう?複数あります。
public class Main { String case1() { while (true) { } } private boolean case2 = true; String case2() { while (case2) { } } private final boolean case3 = true; String case3() { while (case3) { } } String case4() { boolean case4 = true; while (case4) { } } }続きを読む
Unmodifiable – Java Puzzlers Advent Calendar3日目
import java.util.*; public class Main { public static void main(String[] args) { List<String> strings = new ArrayList<>(Arrays.asList("aaa", "bbb", "ccc")); List<String> unmodifiableList = Collections.unmodifiableList(strings); System.out.print(unmodifiableList.size()); System.out.print(", "); strings.remove("aaa"); System.out.print(unmodifiableList.size()); } }
上のコードを実行した時の結果はどれになるでしょうか?
続きを読むEquals Method Overloading - Java Puzzlers Advent Calendar1日目
Equals Method Overloading
import java.util.*; class Student { private int id; Student(int id) { this.id = id; } public boolean equals(Student student) { return student != null && student.id == id; } @Override public int hashCode() { return Objects.hash(id); } } public class Main { public static void main(String[] args) { List<Student> students = new ArrayList<>(); students.add(new Student(1)); students.add(new Student(2)); students.remove(new Student(1)); System.out.println(students.size()); } }続きを読む