/ / Дублиращи се променливи (нула копие) в цикъл? - java, android, eclipse

Дублирани променливи (null копие) в цикъл? - java, android, затъмнение

Никога не съм виждал това преди. Имам следния код, обикновен вложен цикъл, приписващ обект от един ArrayList на обект от друг.

Но вътре във вътрешния цикъл обектът има някои (не всички) дублиращи се променливи с нулеви стойности?!? Какво греша?!?

Първото изображение показва локалната променлива "член", препратка към обект вътре в ArrayList "членове". Това е обектът с дублиращи се променливи с нулеви стойности.

Второто изображение показва другия обект "предложение", изглежда така, както някой би очаквал.

Код по-долу. Помогне?

Дублиращи се променливи с нулева стойност Както би трябвало да бъде

public static void setMembersForOffers(ArrayList<WPMemberPost> members, ArrayList<WPOfferPost> offers)
{
int memberCount = members.size();
int offerCount = offers.size();

for (int i=0; i<offerCount; i++)
{
WPOfferPost offer = offers.get(i);

if (offer.memberIdentifier != null)
{
for (int j=0; j<memberCount; j++)
{
WPMemberPost member = members.get(j);
String id = member.identifier; // NULL?!? (Expected "436")

if (offer.memberIdentifier.equalsIgnoreCase(id))
{
offer.member = member;
break;
}
}
}
}
}

Отговори:

3 за отговор № 1

Разбира се, две променливи със същото име могат да съществуват в йерархия на наследяване

Опитайте този код и направете точка на прекъсване в основния метод на System.out.println(subclass);, В грешката ще видите, че променливата съществува два пъти, защото е дефинирана в Base и Subclass.

public class Main {

public static void main(String[] args) {
Subclass subclass = new Subclass();
subclass.someString = "test";
System.out.println(subclass);
}

private static class Base {

public String someString;

}

private static class Subclass extends Base {

public String someString;

}
}

въведете описанието на изображението тук