我已经实施了一些工作正常的服务。该服务具有以下属性:
@Property(name = MyService.PROXY_PORT, label = "Proxy Port", description = "Proxy Port", value= "8080")
private static final String PROXY_PORT = "proxy.port";
我得到port
属性的值如下:
..
...
properties = context.getProperties();
String port = properties.get(PROXY_PORT).toString();
...
在这种情况下, port
会产生8080
。现在我想将此String转换为Integer。我尝试了以下方法:
int portInt = Integer.parseInt(port);
int portInt2 = Integer.getInteger(port);
两个结果都为null :(
我做了什么?
答案 0 :(得分:3)
考虑使用PropertiesUtil,这是一个完全针对这种情况创建的实用程序类:
int port = PropertiesUtil.toInteger(properties.get(PROXY_PORT), 8080);
第二个参数是默认值。
答案 1 :(得分:1)
如果端口有值且不为null,请尝试:
int portInt = Integer.valueOf(port.trim());
答案 2 :(得分:0)
尝试是否有效:
int portInt = Integer.parseInt(port+""); // check if the port value is coming or not before parse it.
int portInt2 = Integer.getInteger(port+"");