LONG中getLong和parseLong的区别
时间: 2023-04-03 16:05:08 浏览: 277
getLong() 方法是将字符串转换为 long 类型的值,如果字符串无法转换为 long 类型,则返回默认值。而 parseLong() 方法也是将字符串转换为 long 类型的值,但如果字符串无法转换为 long 类型,则会抛出 NumberFormatException 异常。
相关问题
Java Long.getLong 和 Long.paseLong 的区别
Java 中的 Long.getLong() 和 Long.parseLong() 方法都用于将字符串转换为 long 类型,但它们有一些区别。
1. Long.getLong() 方法:
- 这个方法可以将字符串转换为 long 类型,但它还可以接受一个可选的默认值参数。
- 如果输入的字符串表示的是一个有效的 long 值,该方法将返回该值。
- 如果输入的字符串无法解析为 long 值(例如包含非数字字符),或者为 null,该方法将返回默认值。
- 默认值可以通过使用系统属性或在方法调用时显式指定。
2. Long.parseLong() 方法:
- 这个方法将一个字符串解析为 long 类型的值,但不接受默认值参数。
- 如果输入的字符串表示一个有效的 long 值,该方法将返回该值。
- 如果输入的字符串无法解析为 long 值(例如包含非数字字符)或为 null,该方法将抛出 NumberFormatException 异常。
总结:
- 如果你想要在解析失败时提供一个默认值,可以使用 Long.getLong() 方法。
- 如果你只关心解析是否成功,并且不需要默认值,可以使用 Long.parseLong() 方法。
java.lang.String cannot be cast to java.lang.Long"
"java.lang.String cannot be cast to java.lang.Long"的错误意味着在调用SharedPreferencesImpl的getLong方法时,将String类型的值尝试转换为Long类型,但无法成功。这个错误通常发生在尝试获取保存在SharedPreferences中的Long类型的值时,但实际上该值是以String类型保存的。
为了解决这个问题,可以使用getString方法来获取SharedPreferences中的值,并在需要时将其手动转换为Long类型。可以使用Long.parseLong()方法将String类型的值转换为Long类型。