プロが教えるわが家の防犯対策術!

基本情報 平成29年秋期試験 午後問11のcompareについて質問です。
https://www.fe-siken.com/s/kakomon/29_aki/pm11.h …

TableSorterクラスのsortメソッドの処理の一部である、
int order = orderMap.get(orderBy.key).compare(s1 [orderBy.col], s2[orderBy.col]);
この構文がよく分かりません。compareの戻り値を受け取っていることは分かりますが、getの値とcompareをなぜドットで繋がないといけないのですか?

A 回答 (2件)

> int order = orderMap.get(orderBy.key).compare(s1 [orderBy.col], s2[orderBy.col]);



orderMap.get(orderBy.key)が返すのが、Comparator<String>型のオブジェクト
その、Comparator<String>型のオブジェクトのcompare(s1 [orderBy.col], s2[orderBy.col])メソッドで返ってくるint型の値を
変数orderに代入しています。

つまり以下と等価です。
Comparator<String> tmp = orderMap.get(orderBy.key);
int order = tmp.compare(s1 [orderBy.col], s2[orderBy.col]);
    • good
    • 0

| getの値とcompareをなぜドットで繋がないといけないのですか?



getで返ってくるものが、オブジェクトだからです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!