Long.parseLong(termed) 需要非空非null判断吗
时间: 2024-02-18 15:00:02 浏览: 19
在 Java 中,如果你要使用 `Long.parseLong(termed)` 方法将字符串转换为长整型整数,建议在转换之前进行非空和非null的判断,以避免出现 `NullPointerException` 或 `NumberFormatException` 异常。因此,你可以使用以下代码:
```
if (termed != null && !termed.isEmpty()) {
try {
long num = Long.parseLong(termed);
// 处理转换后的长整型整数
} catch (NumberFormatException e) {
// 处理转换失败的情况
}
} else {
// 处理空字符串或 null 的情况
}
```
这个代码块首先判断 `termed` 是否为 null 或空字符串,如果不是,则尝试将其转换为长整型整数,并处理转换后的结果。如果转换失败,则捕获 `NumberFormatException` 异常,并进行相应的处理。如果 `termed` 是空字符串或 null,则会执行相应的代码块进行处理。这样可以保证程序的健壮性和可靠性。
相关问题
long l = Long.parseLong(null);
执行 `Long.parseLong(null)` 会抛出 `java.lang.NullPointerException` 异常。这是因为 `Long.parseLong()` 方法要求传入一个非空的字符串参数,用于解析为 `long` 类型。如果传入的参数是 `null`,则会抛出空指针异常。如果要避免这种异常,可以在调用 `Long.parseLong()` 方法之前,先判断传入的参数是否为 `null`。例如:
```java
String str = null;
long l;
if(str != null){
l = Long.parseLong(str);
} else {
// 处理参数为 null 的情况
}
```
long.parselong与long.valueof
long.parseLong和Long.valueOf都是用于将字符串转换为long类型的方法。它们的主要区别在于返回值的类型和异常处理方式。
long.parseLong方法的源代码如下:
```java
public static long parseLong(String s) throws NumberFormatException {
return parseLong(s, 10);
}
```
这个方法接受一个字符串参数,并将其解析为long类型的值。它默认使用十进制进行解析。如果字符串无法解析为有效的long值,将抛出NumberFormatException异常。
Long.valueOf方法的源代码如下:
```java
public static Long valueOf(String s) throws NumberFormatException {
return Long.valueOf(parseLong(s, 10));
}
```
这个方法也接受一个字符串参数,并将其解析为Long对象。它内部调用了parseLong方法,并将其返回结果作为参数传递给Long.valueOf方法。这个方法的返回值是一个Long对象,而不是基本类型long。同样,如果字符串无法解析为有效的long值,将抛出NumberFormatException异常。
所以,long.parseLong方法返回的是基本类型long,而Long.valueOf方法返回的是Long对象。在使用时,可以根据具体需求选择使用哪个方法。
#### 引用[.reference_title]
- *1* *2* *3* [Long.valueOf 与 Long.parseLong的区别](https://blog.csdn.net/muyimo/article/details/122861947)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]