Comparator.compareが返す値そのものは0以外意味はなく、「正の数」「0」「負の数」のいずれかということを判別します。
「長さの差」と言っていますが、x,yのどっちが長いかで符号が逆になることに注意してください。
つまり、xの長さが4でyの長さが3なら、4-3=1>0と正の数を返し、yが小さいと判別しますが、
xの長さが3、yの長さが4の場合は3-4=-1<0と負の数を返し、xが小さいと判別できます。
今はString.lengthが0以上の数を返すことが確定しているので引き算でできますが、それ以外の一般の整数で引き算をした場合、オーバーフローなどの危険があるので慎重に行ってください。またこのComparatorは次のようにも書けます。
java
1Comparator<String> comparator = Compataror.comparingInt(String::length);
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。