Java8中 LocalDate和java.sql.Date的相互轉換操作
一、簡述
首先,Java 8引入了java.time.LocalDate來表示一個沒有時間的日期。
其次,使用Java 8版本,還需要更新java.sql.Date,以便為LocalDate提供支援,包括toLocalDate和valueOf(LocalDate)等方法。
二、java.time.LocalDate轉換為java.sql.Date
java.sql.Date.valueOf( localDate )
package insping; public class Test { public static void main(String[] args) { java.time.LocalDate date = java.time.LocalDate.now(); System.out.println("java.time.LocalDate = " + date); java.sql.Date sqlDate = java.sql.Date.valueOf(date); System.out.println("java.sql.Date = " + sqlDate); } }
結果:
java.time.LocalDate = 2017-06-16
java.sql.Date = 2017-06-16
三、java.sql.Date轉換為java.time.LocalDate
sqlDate.toLocalDate()
public class Test { public static void main(String[] args) { java.sql.Date sqlDate = java.sql.Date.valueOf("2017-06-16"); System.out.println("java.sql.Date = " + sqlDate); java.time.LocalDate localDate = sqlDate.toLocalDate(); System.out.println("java.time.LocalDate = " + localDate); } }
結果:
java.sql.Date = 2017-06-16
java.time.LocalDate = 2017-06-16
補充知識:java中foreach迴圈的注意事項
簡單的ArrayList小例子:
List<Integer> list = new ArrayList<>(); list.add(1); list.add(2); list.add(3); for (Integer integer : list) { System.out.println(integer); }
PS: Collection介面的型別都沒有使用foreach.
主要注意事項:
1.用法就很簡單,java5的特性.原理是:迭代器遍歷(分析方法:位元組碼工具javap).ps:遍歷連結串列的時候效率會更高一些.
2.如果list=null時,會丟擲java.lang.NullPointerException異常.切記,使用前要new一下.
3.foreach迴圈只能用於讀取,不能改變對應的值.不然會丟擲java.util.ConcurrentModificationException異常.
以上這篇Java8中 LocalDate和java.sql.Date的相互轉換操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。