是否可以将字符串"1L"转换为相应的 Long 值?



我正在用以下说明解析配置文件:

public String getProperty(String key) throws IOException {
Properties prop = new Properties();
String path = "path/to/file/file.properties";
InputStream stream = this.class.getResourceAsStream(path);
prop.load(stream);
return prop.getProperty(key);

返回值(即String)随后从调用方法转换为期望的类型。如何将字符串1L转换为Long类型?
我试着:

Long.valueOf(this.getProperty(key));

使NumberFormatException升高。有办法吗?

Long.parseLongLong.valueOf都不能直接解析1L

解决方法:您可以实现一个简单的stripTrailingL函数来删除末尾的L,然后将其解析为Long.

String str = "1234L";
Long yourLong = Long.parseLong(stripTrailingL(str));
public String stripTrailingL(String str) {
return str.endsWith("L") ? str.substring(0, str.length() - 1) : str;
}

最新更新