一、String與Int互轉
在 Java 中要將 String 類型轉化為 int 類型時,需要使用 Integer 類中的 parseInt() 方法或者 valueOf() 方法進行轉換。
String str = "123"; int a = Integer.parseInt(str); // 方式1
int b = Integer.valueOf(str).intValue() // 方式2
在轉換過程中需要注意:因為字符串中可能會出現非數字的情況,所以在轉換的時候需要捕捉處理異常。
1、Integer.parseInt(String)方法:parseInt()是Integer包裝類里的一個方法,可以將字符串解析為帶符號的整數
注:
(1)使用parseInt()方法時,字符串中的所有字符都必須是數字,但第一個字符可以是減號“ - ”。例:String str="-1234"; 可以轉換為 -1234
(2)當String類型中的不是所有字符都為數字時,也會拋出異常:NumberFormatException。
2、Integer.valueOf(String)方法:valueOf()同樣是Integer包裝類的一個方法,可以將String類型的值轉換為int類型的值。這和parseInt()方法相似,它們轉換后的輸出的結果是相同的。
3、但,Integer.valueOf()和Integer.parseInt()之間還是存在差異的:
valueOf(String)方法會返回Integer類的對象,而parseInt(String)方法返回原始的int值。
4、int轉string
String s = String.valueOf(i); String s = Integer.toString(i); String s = i + '';
二、Date與String互轉
1、Date轉為String
SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time = f.format(examApply.getCreateTime())
2、String轉為Date
參數String類型的格式必須與注釋中的日期格式對齊,否則會報錯
DateFormat format = new SimpleDateFormat("yyyy-MM-dd"); //日期格式
Date date = format.parse(time);
3、使用數據庫類將String轉為Date
轉換后格式不改變,String類型為Date類型。該類的源碼只支持 - 作為分隔符,所以必須使用 - 作為分隔符。 在確定以 - 為分隔符后,此方法相對會簡單很多。
Date date =java.sql.Date.valueOf("2021-06-16");
三、BigDecimal 與 int 比較
這里說一個報錯:operator > cannot be applied to java.math.BigDecimal,int,BigDecimal無法用int之類的 >、<、=之類的比較。如果使用的話,就會報這個錯誤。
BigDecimal必須使用compareTo()
方法來比較,它根據兩個值的大小分別返回負數、正數和0
,分別表示小於、大於和等於。
而且也需要用 new BigDecimal(0) 轉換為 BigDecimal 才可以進行比較。
if(examRoom.getPrice().compareTo(new BigDecimal(0)) == 0){ user.setStatus(ExamApplyStatus.PAYED); message = "報名成功,請等待審核"; }