Ошибка "import java.util.function не может быть решена"

Я пытаюсь запустить эту практику script из стандартных учебных пособий Oracle Java.

Это, кажется, общая ошибка, и я использовал ресурсы SO, чтобы попытаться исправить это. Я пробовал Очистить проект, обновить проект, переключить рабочее место и переключиться обратно, удалить и повторно добавить JRE7.

Я не знаю, что еще делать.

import java.util.List;
import java.util.function.Consumer; -----> cannot be resolved ERROR
import java.util.function.Function; -----> cannot be resolved ERROR
import java.util.Comparator;
import java.util.function.Predicate; -----> cannot be resolved ERROR
import java.lang.Iterable;
import java.time.chrono.IsoChronology; -----> cannot be resolved ERROR

public class LambdaExpressions_RosterTest {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub

    }

    }

Ответ 1

В java.util.function Javadoc,

Since:
      1.8

Итак, перейдите на Java 8 или попробуйте найти более старую версию учебника.

Я новичок в этом. Как вы можете сказать, что вы используете? Я использую Eclipse

Чтобы определить текущую версию Java в eclipse, перейдите к

Help -> About Eclipse -> Installation Details (Button in
          lower Left) -> Configuration pane

Найдите строку java.specification.version - на моей машине, которая

java.specification.version=1.8

Или строка java.runtime.version - на моей машине, которая

java.runtime.version=1.8.0_11-b12

Ответ 2

я решил эту проблему, попробовав следующее решение

Проект > Свойствa > Путь сборки Java
Перейдите на вкладку "Библиотеки"
Выберите JRE System Library
Нажмите кнопку "Изменить"
Выберите альтернативную JRE (jre1.8.0_20)
Нажмите кнопку "Готово"

Ответ 3

Лямбда-выражения недавно добавлены в Java 8. Они недоступны для JRE7. Попробуйте обновить проект Eclipse JRE до 8 (окно → настройки- > java- > компилятор).

Ответ 4

та же проблема приходит ко мне, я вношу изменения в файл eclipse.ini и did -Dosgi.requiredJavaVersion = 1.8 вместо -Dosgi.requiredJavaVersion = 1.6 и моя проблема решена.

Ответ 5

В этой проблеме возникла проблема, когда версия, которую я использовал в следующих свойствах, была < 1.8. Обновление моей POM до версии > 1.8 разрешило мою проблему.

<properties>
     <maven.compiler.source>1.9</maven.compiler.source>
     <maven.compiler.target>1.9</maven.compiler.target>
</properties>

Ответ 6

Я столкнулся с этим, пытаясь использовать Java 9 с Eclipse Oxygen. Eclipse утверждал, что я использовал меньше, чем Java 1.8, и спросил, хочу ли я использовать 1.8. Высказывание да решило проблему, но позже привело к этому сообщению об ошибке.

Я зашел в Window = > Preferences = > Java = > Compiler и увидел, что это было изменено на 1.8, поэтому я изменил его на 9 и теперь все работает.