在Long类型数据转化成String类型数据时,要先对Long类型数据做是否为null判断,否则会引发异常包错!
不含值的Long类型变量 testA 给 Long类型变量 testB 直接赋值,不会引发异常。 不含值的 String类型变量 strA 给 String类型变量 strB直接赋值,也同样不会引发异常。
以下是个小Demo例子,帮助大家理解。
Food.java 类
package com.example.demo.Bean;
import java.sql.Timestamp;
import java.util.Date;
public class Food {
private Long id;
private String name;
private Integer number;
private Date createTime;
private Timestamp testTime;
private String salCode;
private Long mobilPhone;
/**
* 重写 toString() 函数
*/
@Override
public String toString() {
return "Food [id=" + id + ", name=" + name + ", number=" + number + ", createTime=" + createTime + ", testTime="
+ testTime + ", salCode=" + salCode + ", mobilPhone=" + mobilPhone + "]";
}
/**
* 全参构造函数
*
* @param id
* @param name
* @param number
* @param createTime
* @param testTime
* @param salCode
* @param mobilPhone
*/
public Food(Long id, String name, Integer number, Date createTime, Timestamp testTime, String salCode,
Long mobilPhone) {
super();
this.id = id;
this.name = name;
this.number = number;
this.createTime = createTime;
this.testTime = testTime;
this.salCode = salCode;
this.mobilPhone = mobilPhone;
}
/**
* 无参构造函数
*/
public Food() {
super();
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getNumber() {
return number;
}
public void setNumber(Integer number) {
this.number = number;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Timestamp getTestTime() {
return testTime;
}
public void setTestTime(Timestamp testTime) {
this.testTime = testTime;
}
public String getSalCode() {
return salCode;
}
public void setSalCode(String salCode) {
this.salCode = salCode;
}
public Long getMobilPhone() {
return mobilPhone;
}
public void setMobilPhone(Long mobilPhone) {
this.mobilPhone = mobilPhone;
}
}
在Long类型数据转化成String类型数据时,对 Long类似数据进行非空判断处理,以避免引起一些异常报错信息。
package com.example.demo.test;
import com.example.demo.Bean.Food;
public class TestFood {
public static void main(String[] args) {
Food foodA = new Food();
Food foodB = new Food();
if (foodA.getMobilPhone() != null) {
foodB.setSalCode(foodA.getMobilPhone().toString());
}
System.out.println("-------------------- Long类型变量赋值String类型变量无异常 --------------------");
foodB.setName(foodA.getName());
System.out.println("-------------------- String类型变量赋值String类型变量无异常 --------------------");
foodB.setId(foodA.getId());
System.out.println("-------------------- Long类型变量赋值Long类型变量无异常 --------------------");
}
}
测试运行结果如下图一:
图一
在Long数据类型变量转换成 String类型数据变量时,没有对 Long数据类型变量做非空处理,报错。
图二
由这个小Demo可知,A数据类型变量在转化成B数据类型变量时,需要对A数据类型做一些非空(非默认值)的处理,以免引起一些报错信息。