배열 b
이 유형의 NetworkInterfaceAddress
objects
를 저장할 수 있음을 의미하는 NetworkInterfaceAddress
배열이다
NetworkInterface[] a;
a=JpcapCaptor.getDeviceList();
NetworkInterfaceAddress[] b=new NetworkInterfaceAddress[a.length];
int i=-1;
while(++i<a.length)
b[i]=a[i].addresses;
이 오류를 준다. 당신이 말한 그러나,
a[i].addresses
배열 그래서 NetworkInterfaceAddress
의을 반환
b
는
배열 유형 NetworkInterfaceAddress
의 대신
객체 타입 NetworkInterfaceAddress의를 저장할 수 있어야한다. 이를 위해서는 배열 또는 배열
배열이 이고 배열이 일 것입니다. 이어서 NetworkInterfaceAddress[][] b = new NetworkInterfaceAddress[a.length][];
로 변경 B의 정의는 배열 a[i].addresses
을 첨가하면서, a[i].length
에 a[i].addresses
를 보유하는 B 내부의 전류 어레이의 길이를 할당한다.
while(++i<a.length){
b[i] = new NetworkInterfaceAddress[a[i].addresses.length];
b[i] = a[i].addresses; //b[i] is an array itself
}
[i] .addresses; NetworkInterfaceAddress의 배열을 반환하고 있습니다. 확인할 수 있니? –
예, http://jpcap.gitspot.com/javadoc/jpcap/NetworkInterface.html#addresses 링크에 따라 작동합니다. 그리고 모든 주소가 b에 저장되기를 바랍니다. –
그러면이 배열을이'NetworkInterfaceAddress [] b = new NetworkInterfaceAddress [a.length];에 복사해야합니다. 각 열에 NetworkInterfaceAddress 인스턴스를 하나씩 가질 수 있습니다. 그래서 거기에 저장할 수 없습니다. –