GVKun编程网logo

Java已经不再是以前的java了(java已经过时了)

3

以上就是给各位分享Java已经不再是以前的java了,其中也会对java已经过时了进行解释,同时本文还将给你拓展Android/java以前的版本、chunmap已经转向java了,网站上没有了c#的

以上就是给各位分享Java已经不再是以前的java了,其中也会对java已经过时了进行解释,同时本文还将给你拓展Android / java以前的版本、chunmap 已经转向java了,网站上没有了c#的内容、Java 8中的java.sql.Date与Java 6相比、Java SE 8:Java 7编译的JAR是否与Java 8完全兼容?等相关知识,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

Java已经不再是以前的java了(java已经过时了)

Java已经不再是以前的java了(java已经过时了)

作为一只.NET老猿,一直感觉java代码又臭又长,今天看了下java8的一些新特性,感觉以后的java代码也很精简了。

public void TestingFileReader() {
        String filePath = "H:/m.log20191001";
        try (
                FileReader reader = new FileReader(filePath);
                BufferedReader bufferedReader = new BufferedReader(reader)
        ) {
            bufferedReader.lines().filter(line -> line.length() > 10).limit(5).forEach(item -> System.out.println(item));
        } catch (Exception error) {
            error.printStackTrace();
        }
    }

  资源释放用try()里头,这个比C#的using还精简(-_-||)。

 

还有这种无节操的赋值方法给接口的写法

Random random = new Random(10);
        Supplier<Integer> supplier = random::nextInt;
        Stream.generate(supplier).filter(i -> i > 5).limit(100).forEachOrdered(i -> {
            if (Integer.toString(i).length() > 9) {
                System.out.println(i.intValue());
            }
        });

  

Android / java以前的版本

Android / java以前的版本

我是Java和android的新手。我将Android新闻应用程序之一显示为“ 2014年8月7日,上午8:20”

但是我需要显示为:

5 mins ago    
1 hour ago    
2 days ago

乔达,找到了很多像我们这样的图书馆。但我不知道如何将其添加到我的Android应用程序。甚至这个链接http://codingdict.com/questions/141146也会显示给我。但是如何传递我的日期和时间。

任何简单的代码即可做到。

谢谢

chunmap 已经转向java了,网站上没有了c#的内容

chunmap 已经转向java了,网站上没有了c#的内容

已经转向java了,网站上没有了c#的内容。

Java 8中的java.sql.Date与Java 6相比

Java 8中的java.sql.Date与Java 6相比

我知道java.sql.Date应该将小时,分钟,秒和毫秒设置为零,以符合标准sql日期的定义.这记录在here(Java 8中相同).

我也知道Oracle DATE type确实有YEAR,MONTH,DAY,HOUR,MINUTE和SECOND这些时间字段.但没有分数秒和时区.

我注意到Java 6和Java 8中的相同查询行为不一样:

private static final String REQUETE_LISTE_CALENDRIER_DATE = 
    " SELECT ID_DATE,JOUR" +
    " FROM CALENDRIER " +
    " WHERE ID_DATE = ? ";

绑定到PreparedStatement的java.sql.Date“dateCourante”定义如下(它将值设置为那些时间字段):

GregorianCalendar gregorianCalendar = new GregorianCalendar(); // "Now"
java.sql.Date dateCourante = new java.sql.Date(gregorianCalendar.getTime().getTime()); // date AND time of "Now"

>使用Java 6,我找到了一个值,
>使用Java 8,我没有.

在我的数据库中,日期的小时,分​​钟,秒为零.我们可以查看以下查询:

select to_char(id_date,'DD/MM/YYYY HH24:MI:SS')
from calendrier
where id_date = to_date('26/08/2016','DD/MM/YYYY');

这给了:

26/08/2016 00:00:00

所以,我的理解是:

>在Java 6中,在数据库上启动查询之前,java.sql.Date的时间字段设置为零
>在Java 8中,java.sql.Date的时间字段保留在查询中.

我无法找到有关此行为的文档.

任何人都可以确认或解释吗?

作为解决方法,我使用它,如here所述:
dDate = java.sql.Date.valueOf(dDate.toLocalDate()); //其中dDate是java.sql.Date

最佳答案
虽然我没有解释,但是说很多人用最新一代的Oracle驱动程序报告了问题和违反JDBC的行为,我可以说你滥用这些类.还有更好的课程.

java.sql.Date是仅限日期的

您在Java端选择了错误的类.虽然java.sql.Date类确实在其内部设置了UTC中00:00:00的时间,但您应该忽略该事实,如类文档所指示的那样. java.sql.Date用于仅限日期的值,没有时间和没有时区.

这个类是一个糟糕的设计,一个糟糕的黑客,继承自java.util.Date,同时告诉你忽略该继承事实.

java.sql.Timestamp是日期和时间

java.sql.Timestamp是您需要的类型而不是java.sql.Date.(但请继续阅读以获得更好的课程.)

从最早的Java版本开始,一大堆旧的日期时间类是一个勇敢的行业首次尝试解决日期时间处理问题,但它们不足.它们的设计很糟糕,令人困惑,也很麻烦.避免它们:java.util.Date,java.util.Calendar,java.util.GregorianCalendar,java.text.DateFormat,java.text.SimpleDateFormat.如果可能的话,也要避免使用java.sql类型.而是使用java.time类.

JDBC 4.2

从JDBC 4.2开始,您的JDBC驱动程序可能能够直接从您的数据库访问java.time类型. PreparedStatement :: setobject和ResultSet :: getobject方法可能能够将数据库中的日期时间值作为java.time对象呈现.

Instant instant = myResultSet.getobject( 1 );

…也许…

Instant instant = myResultSet.getobject( 1,Instant.class );

如果您的驱动程序不那么强大,那么请简单地转换为java.sql类型并立即转换为java.time.使用java.time完成所有业务逻辑.仅适用于与数据库交换数据的java.sql类型.要转换为/从java.time,请查找添加到旧类的新方法.例如,java.sql.Timestamp::toInstant.

这里我们从ResultSet中提取java.sql.Timestamp并立即将其转换为Instant.您可能希望在两行而不是一条组合行上执行此操作以进行调试.

Instant instant = myResultSet.getTimestamp( 1 ).toInstant();

Java SE 8:Java 7编译的JAR是否与Java 8完全兼容?

Java SE 8:Java 7编译的JAR是否与Java 8完全兼容?

我使用Java 7编译了旧的JAR文件,并且生产环境中使用了Java8。将JAR文件直接部署到Java 8
Environment上需要注意什么吗?我测试了它们是否在Java
8上运行,并且运行良好。我会遇到任何问题还是应该没事?我想知道这是因为我正在辩论删除Java 8和安装Java 7。

编辑:附带问题:公司在更新Java版本时会更新代码吗?我无法想象这一定是多么痛苦,所以让您的应用程序在以前的版本上运行,然后在新版本上完全失败。

答案1

小编典典

我想知道这是因为我正在辩论删除Java 8和安装Java 7。

我想你的意思是相反的?

Java尝试尽可能保持向后兼容性,因此从理论上讲,至少您应该没问题。

但是实际上,有时候确实会出现问题,因此我建议进行彻底测试。这些可能是由于回归错误,或者(根据我的经验,更可能是错误代码),这些错误代码可能在Java
7下可以正常运行,但在8以下不能正常运行。(FWIW,我有一些FX应用程序在8以下运行,但在8以下运行良好)
7,事实证明,两者都是由于我的代码中的错误所致,而这些错误在使用7运行时恰好没有异常的副作用。)

我们今天的关于Java已经不再是以前的java了java已经过时了的分享就到这里,谢谢您的阅读,如果想了解更多关于Android / java以前的版本、chunmap 已经转向java了,网站上没有了c#的内容、Java 8中的java.sql.Date与Java 6相比、Java SE 8:Java 7编译的JAR是否与Java 8完全兼容?的相关信息,可以在本站进行搜索。

本文标签: