java - Store two enum values in a HashMap -
i want store socket.getsocket()
, socketstatus.getsocketstatus()
in hashmap
. hmap.put(socket.getsocket(),socketstatus.getsocketstatus());
throws nullpointerexception
. how resolve this?
below 2 classes:
socketinfomap.java
package vd.socket.map; import java.util.hashmap; import java.util.map; public class socketinfomap { public enum socket { one("01"), two("02"), three("03"), four("04"), five("05"), six("06"), seven("07"), eight("08"); private static map<socket, string> smap = new hashmap<socket, string>(); private string socket; private socket(string socket) { this.socket = socket; } public string getsocket() { return socket; } static { (socket socket : socket.values()) { smap.put(socket, socket.getsocket()); } } } public enum socketstatus { lifted(1), not_lifted(0); private static map<socketstatus, integer> stmap = new hashmap<socketstatus, integer>(); private int socketstatus; private socketstatus(int socketstatus) { this.socketstatus = socketstatus; } public int getsocketstatus() { return socketstatus; } static { (socketstatus socketstatus : socketstatus.values()) { stmap.put(socketstatus, socketstatus.getsocketstatus()); } } } private static map<string, integer> hmap = new hashmap<string, integer>(); public socketinfomap(map<string, integer> hmap) { socketinfomap.hmap = hmap; } public map<string, integer> gethmap() { return hmap; } }
socketmaptest.java
package vd.socket.map; import java.util.map; import vd.socket.map.socketinfomap.*; public class socketmaptest { private static map<string, integer> hmap; public static void main(string[] args) { socketstatus socketstatus = socketstatus.lifted; socket socket = socket.two; if ((socket == socket.two) && (socketstatus == socketstatus.lifted)) { hmap.put(socket.getsocket(), socketstatus.getsocketstatus()); system.out.println(hmap); } else hmap.put(socket.getsocket(), socketstatus.getsocketstatus()); system.out.println(hmap); } }
initialize hmap inside main method.. go through link ,hopefully you..
Comments
Post a Comment