Long型別轉換為字串進行判空引起的問題

2021-09-23 18:13:02 字數 784 閱讀 3792

測試:

long a = null;

system.out.println(string.valueof(a));

system.out.println(string.valueof(a).length());

結果:null

null

可以看到:乙個long型別的空值,在進行string.valueof 轉變為字串型別時變為了字串「null」

由string.valueof()原始碼可知:

returns:

if the argument is null, then a string equal to "null"; otherwise, the value of obj.tostring() is returned.

結果在進行stringutils.isblank時就會跳過判斷,沒有顯示出想要的結果。

補充: stringutils中 isblank  和isempty 區別:

isnotempty(str)等價於 str != null && str.length > 0 

isnotblank(str) 等價於 str != null && str.length > 0 && str.trim().length > 0 

同理 isempty 等價於 str == null || str.length == 0 

isblank 等價於 str == null || str.length == 0 || str.trim().length == 0

其他型別轉換為字串

1。短整型 int itoa i,temp,10 將i轉換為字串放入temp中,最後乙個數字表示十進位制 itoa i,temp,2 按二進位制方式轉換 2。長整型 long ltoa l,temp,10 3。浮點數 float,double 用fcvt可以完成轉換,這是msdn中的例子 int d...

資料型別轉換為字串

c語言提供了幾個標準庫函式,可以將任意型別 整型 長整型 浮點型等 的數字轉換為字串。c c 語言提供了幾個標準庫函式,可以將字串轉換為任意型別 整型 長整型 浮點型等 以下是用itoa 函式將整數轉換為字串的乙個例子 include include void main void itoa 函式有3...

字串轉換為整數

class program catch exception ee console.read 轉換類 public class strconverter bool positive true int32 result 0 double tempresult 0 int start 0 while st...