Duplicate :
|
Name: auR10023 Date: 11/13/2002 java.nio.channels.Selector.selectedKeys().addAll() doesn't throw UnsupportedOperationException. Javadoc for Selector.selectedKeys() method states: ... Keys may be removed from, but not directly added to, the selected-key set. Any attempt to add an object to the key set will cause an UnsupportedOperationException to be thrown. ... Here is the example: -------test.java--------- import java.io.*; import java.nio.*; import java.nio.channels.*; public class test { public static void main(String args[]) { DatagramChannel channel = null; Selector sel = null; SelectionKey key = null; try { channel = DatagramChannel.open(); channel.configureBlocking(false); sel = Selector.open(); key = channel.register( sel, SelectionKey.OP_WRITE); } catch (IOException e) { System.out.println("Unexpected IOException"); return; } try { sel.selectedKeys().addAll(sel.selectedKeys()); System.out.println("UnsupportedOperationException should be " + "thrown"); return; } catch (UnsupportedOperationException e) { } System.out.println("OKAY"); } } Here is the result #java -version java version "1.4.2-beta" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2-beta-b06) Java HotSpot(TM) Client VM (build 1.4.2-beta-b06, mixed mode) #java test UnsupportedOperationException should be thrown ======================================================================