Помогите, пожалуйста, разобраться, что не нравится валидатору? Писала и в одну строчку и в несколько, и через лямбда-выражение, и через анонимный внутренний класс. Валидатор выводит одно и то же сообщение. Хотя результат программа выдает правильный.
package com.javarush.task.pro.task18.task1812;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.stream.Stream;
/*
Рейтинг языков программирования
*/
public class Solution {
public static void main(String[] args) {
ArrayList<Language> languages = new ArrayList<>();
Collections.addAll(languages,
new Language("С#", 4.58),
new Language("JavaScript", 2.54),
new Language("Python", 10.47),
new Language("C++", 7.11),
new Language("Go", 1.46),
new Language("R", 2.37),
new Language("Java", 13.48),
new Language("C", 15.95),
new Language("Swift", 1.38),
new Language("PHP", 2.49));
Stream<Language> languageStream = sortByRanking(languages);
languageStream.forEach(System.out::println);
}
public static Stream<Language> sortByRanking(ArrayList<Language> languages) {
Stream<Language> languageStr = languages.stream();
Comparator<Language> comparator = new Comparator<Language>() {
@Override
public int compare(Language language1, Language language2) {
return (int) (language2.getRanking()-language1.getRanking());
}
};
Stream<Language> stream = languageStr.sorted(comparator);
//Stream<Language> stream = languageStr.sorted((Language language1, Language language2) -> (int)(language2.getRanking()-language1.getRanking()));
return stream;
}
}