Итак, у нас возникла проблема, когда javac
может скомпилировать что-то, но eclipse can't. Это может быть ошибка javac
, но я подозреваю, что ни одна из сторон не решит проблему, учитывая, как долго был отчет initial jdk bug.Получите Intellij Idea, чтобы выделить несовместимый код компилятора?
Ошибка: Метод применим (Collection) в типе GenericsEclipseCompilerIssue.CollectionToString не применяется для аргументов (Collection)
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.function.Function;
import java.util.stream.Collectors;
public class GenericsEclipseCompilerIssue
{
public static <T> Function<Optional<Collection<T>>, String> optionalCollectionToString(
final Function<? super T, String> elementTransformer) {
return (collection) -> {
return new CollectionToString<>(elementTransformer)
.apply(collection.orElse(Collections.emptyList()));
};
}
static class CollectionToString<E> implements Function<Collection<E>, String> {
private final Function<? super E, String> elementTransformer;
public CollectionToString(final Function<? super E, String> elementTransformer)
{
this.elementTransformer = elementTransformer;
}
@Override
public String apply(final Collection<E> collection)
{
List<String> strings = collection.stream()
.filter(Objects::nonNull)
.map(elementTransformer::apply)
.sorted(String.CASE_INSENSITIVE_ORDER)
.collect(Collectors.toList());
return strings.toString();
}
}
}
Есть ли способ, чтобы получить IntelliJ IDEA, чтобы подчеркнуть это так что я не случайно представляю эту проблему?
Вы решили переключиться на компилятор Eclipse в своей обычной повседневной рутине? – Makoto
@Makoto другие члены моей команды используют eclipse, на самом деле я единственный, кто этого не делает. Мы могли бы утверждать, что должны, но, я лично считаю это невыносимым. – xenoterracide
Есть ли конкретная причина, по которой вы не используете компилятор Eclipse в IntelliJ? Я не собираюсь заходить так далеко, как утверждать, что вы должны использовать Eclipse, но вы можете использовать его компилятор ... – Makoto