Хорошо, извиняюсь, если это уже ответили. Я попытался посмотреть, но ответа не нашел.Проверка наличия экземпляра определенного класса в списке
Теперь у меня есть класс утилиты связанного списка (связанный в одном направлении), который содержит различные универсальные утилиты для разных вещей. То, что я пытаюсь сделать, это сделать метод, который способен принимать в качестве параметра экземпляр любого заданного класса, а затем проверяет, существует ли экземпляр такого класса в списке, возвращая true, если это так, и false, если оно не делает. Сам список содержит экземпляры нескольких разных классов.
Метод будет использоваться в сочетании со списком, в котором подробно описывается содержимое пространства на игровом поле: если пространство содержит врага, покажите значок врага и сделайте пространство непроходимым, если оно содержит элемент, показать значок элемента и т. д. и т. д. Настоящий кикер здесь заключается в том, что метод должен иметь возможность иметь дело с любыми и всеми классами, поэтому я не могу использовать что-то вроде:
if (foo instanceof Enemy) { . . . }
Вот что я изначально пытался сделать: // этот метод находится внутри LinkedList класса
public boolean exists(Object o)
{
int i = 0;
boolean output = false;
//koko() returns the size of the linked list
while(i < koko() && !output)
{
//alkio(i) returns an Object type reference to the entity in index i
if(alkio(i) instanceof o.getClass())
{
output = true;
}
}
return output;
}
Но это привело это: https://www.dropbox.com/s/5mjr45uymxotzlq/Screenshot%202016-04-06%2001.16.59.png?dl=0
Да, это домашнее задание (или скорее, часть большой домашней работы), но учитель не ответит на двух AM, и мой google-fu слишком слаб.
halp плз
- Нар
Почему вы принимаете за ввод объекта вместо «класса»? –
Как взять класс в качестве параметра? Это было бы проще всего, но я не знал, что это возможно ... что такое синтаксис? – Narmondur
Как вы думаете, o.getClass возвращается? Он возвращает класс. Или вы можете написать литерал 'MyClass.class'. –