multithreading - Unable to get Integer Value of Variable Stored in Java Thread Local Object -


i trying integer value of thread local object in code below, keeps throwing error. however, when try display string, displays.

my question: how can achieve extracting integer value?

note: parsing string in code below doesn't work

package ids;  import java.io.ioexception; import java.sql.connection; import java.sql.drivermanager; import java.sql.resultset; import java.sql.statement; import java.util.random; import javax.swing.swingworker; import jpcap.*; import jpcap.packet.packet;   public class interfacethread implements runnable {  threadlocal myinterfacenumber = new threadlocal();  interfacethread() {  }  interfacethread(int interfacenumber) {     myinterfacenumber.set(interfacenumber);     system.out.println("check: " + myinterfacenumber.get()); }  @override public void run() {     string intnum = (string) myinterfacenumber.get();      int interfacetoprint = integer.parseint(intnum);     system.out.println("interface: " + interfacetoprint);     messages msg = new messages();     printer print = new printer();      try {  //open selected interface              jpcapcaptor captor =         jpcapcaptor.opendevice(ids.interfaces[interfacetoprint], 65535, true, 5000);         system.out.println("interface dlink name: " + ids.interfaces[interfacetoprint].description);         //  print.textareaappend("traffic on interface "+interfacetoprint+" being sniffed\n");         while (mainframe.stopsniffing == false) {             captor.processpacket(-1, new printer());         }         //captor.looppacket(-1, new printer());         captor.close();      } catch (ioexception ex) {               msg.errormessages("interface " + interfacetoprint + " encountered    error: " + ex);     }  }  public void start(int interfacenumber) {      interfacethread interfacet = new interfacethread(interfacenumber);      thread thread = new thread(interfacet);      thread.start();    }  } 

i suggest use generics simplify code

private final threadlocal<integer> int = new threadlocal<>();  // read integer = int.get();  // write int.set(i); 

Comments

Popular posts from this blog

java - pagination of xlsx file to XSSFworkbook using apache POI -

Unlimited choices in BASH case statement -

apache - How do I stop my index.php being run twice for every user -