1. 程式人生 > 程式設計 >Java8中 LocalDate和java.sql.Date的相互轉換操作

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的相互轉換操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。