Если у вас есть ссылка на игольный объект, почему вы ищете его? :)
Проблемная область и варианты использования говорят вам, что вам не нужно точное положение иглы в стоге сена (например, что вы можете получить из list.indexOf (element)), вам просто нужна игла. А у тебя его пока нет. Так что мой ответ примерно такой
Needle needle = (Needle)haystack.searchByName("needle");
или
Needle needle = (Needle)haystack.searchWithFilter(new Filter(){
public boolean isWhatYouNeed(Object obj)
{
return obj instanceof Needle;
}
});
или
Needle needle = (Needle)haystack.searchByPattern(Size.SMALL,
Sharpness.SHARP,
Material.METAL);
Я согласен, что существует больше возможных решений, основанных на разных стратегиях поиска, поэтому они вводят поисковик. Было достаточно комментариев по этому поводу, поэтому я не обращаю на это внимания. Суть в том, что решения выше забывают о сценариях использования - какой смысл искать что-то, если у вас уже есть ссылка на это?
В наиболее естественном случае у вас еще нет иглы, поэтому вы не используете переменную иглу.