型別轉換問題

2021-07-31 03:08:34 字數 678 閱讀 9000

1) object型別物件,我們對其直接使用字串操作函式tostring,當其為null是就會崩潰。

如 int result = integer.valueof(obj.tostring());

一旦obj為空,上面**直接崩潰。

解決:編寫乙個型別安全轉換函式converttoint,當轉換失敗,就返回預設值。

public f inal static int converttoint(object value, int defaultvalue)

try catch (exception e) catch (exception e1)

} }

2)如果長度不夠,那麼執行substring 函式時,就會崩潰。

substring 函式有2 個引數:start 和end。

如: string cityname = 「t」;

string f irstletter = cityname.substring(1, 2);

**必然崩潰。所以每次在使用substring 函式的時候,都要判斷start 和end 兩個引數是否越界了。應該這樣寫:

string cityname = 「t」;

string f irstletter = 「」;

if (cityname.length() > 1)

型別轉換問題

1 混合型別算數表示式 目標轉換型別最寬,將其餘資料提公升型別 int ival 3 double dval 3.14 ival dval ival被提公升至3.0 2 用一種型別表示式賦值給另一型別物件,包括表示式傳遞給函式,函式返回值等。決定於目標變數的型別,對賦值變數就行擷取 總結如下 1 防...

Qt 型別轉換問題

qt內部型別轉換 int轉換為qstring int num 65 qstring ab qstring number num 預設是十進位制轉換,qstring abc qstring number num,16 十六進製制,為 41 qstring轉換為int qstring str ff bo...

型別強制轉換的問題

存在bug的 include int array define total elements sizeof array sizeof array 0 int main 結果是 原因 經過sizeof 的計算,total elements值的型別為unsigned int 型別。在if語句中,d為in...