Скажите пожалуйста, почему когда я пытаюсь запустить данный пример происходит ошибка. Пример взят с сайта javarush.
Ошибка возникает в строке , там где for
в блоке декларации Dancer d (Error:(16, 26) java: incompatible types: java.lang.Object cannot be converted to Dancer)
import java.util.*;
public class Main {
public static void main(String[] args) {
Dancer dancer = new Dancer("Антон", 18);
Dancer breakDanceDancer = new BreakDankDancer("Алексей", 19);// восходящее преобразование к базовому типу
Dancer electricBoogieDancer = new ElectricBoogieDancer("Игорь", 20); // восходящее преобразование к базовому типу
List discotheque = Arrays.asList(dancer, breakDanceDancer, electricBoogieDancer);
for ( Dancer d : discotheque) {
d.dance();// полиморфный вызов метода
}
}
}
Класс Dancer
является родителем для breakDanceDancer
и electricBoogieDancer
.
Скорее всего, проблема в отсутствии дженериков.
Подробнее
По умолчанию(без указывания дженериков) в List
хранятся объекты типа Object
. Для прохода по листу вы в foreach
создаете объект типа Dancer
. Но он не знает, что в листе у вас объекты типа Dancer
, и считает, что у вас там объекты типа Object
. И он выводит ошибку, когда вы пишите Dancer d : discotheque
, ему надо Object d : discotheque
. Что бы указывать Dancer
в foreach
, используйте дженерики:
List<Dancer> discotheque = Arrays.asList(dancer, breakDanceDancer, electricBoogieDancer);
.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть задача по созданию приложения, обрабатывающего аргументы командной срокиСтрока следующего вида:--file=example
Подскажите пожалуйста в чем разница? я сейчас новичок в андройде и увидел два метода для шейра текста к примеру через:
У меня есть форма регистрацииНужно, чтобы если пользователь вводил имя, существующее в базе данных, ему выдавалась ошибка
У меня есть приложение, которое я подготовил для запуска в dokcer: