Я новичок в JAVA и нашел некоторые из ее концепций очень раздражающими, и, как бы я ни старался, я не могу найти подходящего объяснения этому поведению ... конечно, есть проблемы вокруг этих проблем, но все же я хочу знать я упускаю что-то очень простое здесь или JAVA, как это ???
- У меня есть строковый массив в одном из моих классов A, и я хочу, чтобы он был заполнен с помощью метода другого класса B ... поэтому я создаю объект класса B в A, вызываю метод B.xyz и приравниваю это в строку arra, но БУМ, я не могу это сделать .... Java выдает исключение nullpointer .......... Я не знаю, почему ...
.
public class B{
public void xyz() {
String[] mystrings=new String[70];
for(int i=0;i<5;i++)
mystrings[i]=value;
return mystrings;
}
}
public class A {
public void abc() {
B b=new B();
String[] StringList;
StringList=b.xyz();
System.out.println(StringList.length);
}
}
У меня есть похожий фрагмент кода, к сожалению, длина StrinList становится равной 70 .... если я хочу напечатать все строки этого массива, у меня нет другого пути ... помните, хотя размер mystring равно 70 в классе B, только 5 его компонентов правильно инициализированы ........ ТАК, учитывая, что я нахожусь в классе A и не могу узнать, сколько раз выполнялся цикл for в B ..... Как мне точно пройти через все элементы StringList в A .........
PS: Есть обходные пути для решения этой проблемы, но я хотел бы знать, почему это происходит, то есть почему атрибут длины не изменяется в соответствии с инициализированными компонентами ??