У меня есть эта функция, которая возвращает тип данных InetAddress []Затмение дает мне странные ошибки при компиляции
public InetAddress []
lookupAllHostAddr(String host) throws UnknownHostException {
Name name = null;
try {
name = new Name(host);
}
catch (TextParseException e) {
throw new UnknownHostException(host);
}
Record [] records = null;
if (preferV6)
records = new Lookup(name, Type.AAAA).run();
if (records == null)
records = new Lookup(name, Type.A).run();
if (records == null && !preferV6)
records = new Lookup(name, Type.AAAA).run();
if (records == null)
throw new UnknownHostException(host);
InetAddress[] array = new InetAddress[records.length];
for (int i = 0; i < records.length; i++) {
Record record = records[i];
if (records[i] instanceof ARecord) {
ARecord a = (ARecord) records[i];
array[i] = a.getAddress();
} else {
AAAARecord aaaa = (AAAARecord) records[i];
array[i] = aaaa.getAddress();
}
}
return array;
}
Eclipse, жалуется, что тип возвращаемого значения должен быть байт [] [], но когда я изменить тип возвращаемого в byte [] [], он жалуется, что функция возвращает неправильный тип данных. Я застрял в петле. Кто-нибудь знает, что здесь происходит?
Сначала вы должны научиться использовать классы Collections вместо raw Arrays. Во-вторых, вы должны научиться использовать новое для каждой конструкции вместо повторения массивов с помощью счетчика, в лучшем случае изобилует одним ошибкой. –