【初心者】Java質問・相談スレ12【大歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0451デフォルトの名無しさん
NGNG参考書に書いてあるのと変わらない(抽象的な)気がするけど…。
たとえば、ふたつの値をとって大きい方を返す関数を作るとする。
public Integer max(Integer a, Integer b) { ... } ってなるよね。
整数だけじゃなくて、少数も扱いたいとなると
public Double max(Double a, Double b) { ... } も用意するね。
文字の比較もしたいとなると
public String max(String a, String b) { ... } も必要だよね。
こういったときに、引数と戻り値に「比較可能型」という抽象的なものを
指定できたら便利だと思わない? この比較可能型を Comparable とすれば
public Comparable max(Comparable a, Comparable b) { ... } を
用意するだけでいいことになるからね。
そのかわり、Integer, Double, String は比較可能型としての振る舞いを
備えている必要があるから、
public class Integer implements Comparable { ... }
public class Double implements Comparable { ... }
public class String implements Comparable { ... }
となるわけだ。
■ このスレッドは過去ログ倉庫に格納されています