С самого начала я программировал на C++, но теперь работал над проектом, связанным с администрированием сети на Java. Здесь a[i].addresses
возвращает NetworkInterfaceAddress[]
(т. Е. Массив). Но когда я пытаюсь скопировать, как это, он дает ошибку.Почему я не могу хранить массивы внутри другого массива?
NetworkInterface[] a;
a=JpcapCaptor.getDeviceList();
NetworkInterfaceAddress[] b=new NetworkInterfaceAddress[a.length];
int i=-1;
while(++i<a.length)
b[i]=a[i].addresses;
Это дает ошибку:
incompatible types: NetworkInterfaceAddress[] cannot be converted to NetworkInterfaceAddress.
Я думаю, что [i] .addresses; возвращает массив NetworkInterfaceAddress. вы можете проверить? –
Да, это происходит по ссылке: http://jpcap.gitspot.com/javadoc/jpcap/NetworkInterface.html#addresses. И я хочу, чтобы все эти адреса были сохранены в b. –
Хорошо, тогда вам нужно скопировать его в массив для этого 'NetworkInterfaceAddress [] b = new NetworkInterfaceAddress [a.length];' вы можете иметь один экземпляр NetworkInterfaceAddress в каждом столбце. Поэтому вы не можете его хранить. –