无法从String转换为Integer

时间:2014-02-26 09:55:43

标签: java cq5 apache-felix

我已经实施了一些工作正常的服务。该服务具有以下属性:

 @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 :(

我做了什么?

3 个答案:

答案 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+"");