一、简述
首先,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的相互转换操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持自学编程网。
- 本文固定链接: https://zxbcw.cn/post/201642/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)