Replace a loop that runs only once with a single statement (Second take)

Fix potential NoSuchElementException
This commit is contained in:
Trustin Lee 2012-11-12 09:39:16 +09:00
parent 18f1b1f1d0
commit 1cb589a950
4 changed files with 28 additions and 6 deletions

View File

@ -41,6 +41,7 @@ import java.nio.ByteBuffer;
import java.nio.channels.SelectionKey;
import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class NioSctpChannel extends AbstractNioMessageChannel implements io.netty.channel.socket.SctpChannel {
@ -151,7 +152,10 @@ public class NioSctpChannel extends AbstractNioMessageChannel implements io.nett
@Override
protected SocketAddress localAddress0() {
try {
return javaChannel().getAllLocalAddresses().iterator().next();
Iterator<SocketAddress> i = javaChannel().getAllLocalAddresses().iterator();
if (i.hasNext()) {
return i.next();
}
} catch (IOException e) {
// ignore
}
@ -161,7 +165,10 @@ public class NioSctpChannel extends AbstractNioMessageChannel implements io.nett
@Override
protected SocketAddress remoteAddress0() {
try {
return javaChannel().getRemoteAddresses().iterator().next();
Iterator<SocketAddress> i = javaChannel().getRemoteAddresses().iterator();
if (i.hasNext()) {
return i.next();
}
} catch (IOException e) {
// ignore
}

View File

@ -30,6 +30,7 @@ import java.net.SocketAddress;
import java.nio.channels.SelectionKey;
import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class NioSctpServerChannel extends AbstractNioMessageChannel
@ -94,7 +95,10 @@ public class NioSctpServerChannel extends AbstractNioMessageChannel
@Override
protected SocketAddress localAddress0() {
try {
return javaChannel().getAllLocalAddresses().iterator().next();
Iterator<SocketAddress> i = javaChannel().getAllLocalAddresses().iterator();
if (i.hasNext()) {
return i.next();
}
} catch (IOException e) {
// ignore
}

View File

@ -40,6 +40,7 @@ import java.net.SocketAddress;
import java.nio.ByteBuffer;
import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class OioSctpChannel extends AbstractOioMessageChannel
@ -169,7 +170,10 @@ public class OioSctpChannel extends AbstractOioMessageChannel
@Override
protected SocketAddress localAddress0() {
try {
return ch.getAllLocalAddresses().iterator().next();
Iterator<SocketAddress> i = ch.getAllLocalAddresses().iterator();
if (i.hasNext()) {
return i.next();
}
} catch (IOException e) {
// ignore
}
@ -193,7 +197,10 @@ public class OioSctpChannel extends AbstractOioMessageChannel
@Override
protected SocketAddress remoteAddress0() {
try {
return ch.getRemoteAddresses().iterator().next();
Iterator<SocketAddress> i = ch.getRemoteAddresses().iterator();
if (i.hasNext()) {
return i.next();
}
} catch (IOException e) {
// ignore
}

View File

@ -31,6 +31,7 @@ import java.net.InetSocketAddress;
import java.net.SocketAddress;
import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class OioSctpServerChannel extends AbstractOioMessageChannel
@ -108,7 +109,10 @@ public class OioSctpServerChannel extends AbstractOioMessageChannel
@Override
protected SocketAddress localAddress0() {
try {
return sch.getAllLocalAddresses().iterator().next();
Iterator<SocketAddress> i = sch.getAllLocalAddresses().iterator();
if (i.hasNext()) {
return i.next();
}
} catch (IOException e) {
// ignore
}