fork(14) download
  1. /*
  2. java.util.AbstractCollection クラスは,「要素の集合」に対する操作を規定す
  3. るjava.util.Collection インタフェースを実装する抽象クラスで,そのAPI の一部を具象メ
  4. ソッド(呼び出して実行できるメソッド)としてオーバーライドしている。
  5. 例えば,このクラスのAPI のうち,以下の2つはCollection インタフェース由来の抽象
  6. メソッドである。
  7. abstract Iterator<E> iterator() このコレクション内の要素に関する反復子(java.util.Iterator クラス
  8. のオブジェクト)を返す。
  9. abstract int size() このコレクション内の要素の数を返す。
  10. これら抽象メソッドを呼びだすようなテンプレートメソッドで,Collection インタフェ
  11. ースの他の抽象メソッドをオーバーライドしているのである。
  12. では,AbstractCollection クラスのAPI のうち,上記の抽象メソッド(iterator,size)
  13. を使って実装できる以下の2つのテンプレートメソッドについて,実行部分のコードを考
  14. えてみよう。
  15. boolean contains(Object o) コレクション内に引数で指定された要素がある場合に true を返す。
  16. Object[ ] toArray() このコレクションの要素が全て格納されている配列を返す。
  17. abstract class AbstractCollection implements Collection {
  18. // 以下のメソッド定義の【ア】【イ】に,iterator およびsize のメソッド呼び出しを
  19. // 含むコードを書いてください。
  20. */
  21. public boolean contains(Object o) {
  22. boolean flag = false;
  23. 【ア】
  24. return flag;
  25. }
  26. public Object[ ] toArray() {
  27. Object[ ] result = null;
  28. 【イ】
  29. return result;
  30. }
  31. // 他のAPI の定義については省略
  32. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
Main.java:21: class, interface, or enum expected
public boolean contains(Object o) {
       ^
Main.java:23: illegal character: \12304
???
^
Main.java:23: illegal character: \12305
???
  ^
Main.java:25: class, interface, or enum expected
}
^
Main.java:26: class, interface, or enum expected
public Object[ ] toArray() {
       ^
Main.java:28: illegal character: \12304
???
^
Main.java:28: illegal character: \12305
???
  ^
Main.java:30: class, interface, or enum expected
}
^
8 errors
stdout
Standard output is empty