是否可以将字符串“1L”转换为相应的 Long 值?
Is it possible to convert the String "1L" to the corresponding Long value?
我正在按照以下说明解析配置文件:
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.parseLong
和Long.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;
}
我正在按照以下说明解析配置文件:
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.parseLong
和Long.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;
}