小编Ita*_*tai的帖子

我应该使用java.util.Date还是切换到java.time.LocalDate

编辑:嗯,显然这是基于意见,所以让我试着更准确地改写它 -

在不需要任何向后兼容性的Java代码中使用LocalDate,LocalTime等有任何明确的警告或缺点,如果是这样 - 它们是什么?

我正在寻找像"当前EE库X和Y无法正确使用LocalDate"或"这个非常有用的模式被LocalTime打破"等等.


(这是原始问题供参考)

在Java 8中,引入了新的时间API,即java.time.LocalDate等,但java.util.Date未标记为已弃用.

我正在编写一个新项目,它不需要向后兼容.我应该只使用LocalDate,LocalDateTime等吗?使用这个新API是否有任何缺点,而不是旧的java.util.Date?

特别是 - 我将主要使用JDBC.从我所看到的JDBC很好地处理java.util.Date.它是否适合LocalDate?

搜索产生了许多网站,告诉他们如何从一种格式转换为另一种格式,但是如果新代码使用旧的API,则没有明确的答案.

谢谢.

java date jdbc

50
推荐指数
3
解决办法
4万
查看次数

JavaFX FXML API版本警告

我最近在启动JavaFX应用程序时注意到以下警告:

警告:JavaFX运行时版本8.0.60使用版本8.0.65的JavaFX API加载FXML文档

有问题的FXML是由Gluon Scene Builder 8.1.0创建的,运行它的捆绑Java,版本1.8.0_65.该应用程序是使用我的OS Java 1.8.0_72版启动的.

FXML的根节点确实具有该属性

xmlns="http://javafx.com/javafx/8.0.65"
Run Code Online (Sandbox Code Playgroud)

但我认为1.8.0_72> 1.8.0_65,为什么我收到这条消息呢?这是我应该担心的事情吗?有没有办法问jre什么是JavaFX API版本(显然,它与Java版本不同)?

编辑:
运行James_D建议的代码给出以下结果:

java版本:1.8.0_72-internal
javafx.version:8.0.60

那么,看起来像JDK中的JavaFX版本是错的?或者我可能有一个旧的jfxrt.jar?我会调查一下.

java javafx fxml

29
推荐指数
3
解决办法
4万
查看次数

为什么`loadFont`没有关闭输入流?我应该关闭吗?

看看Font#loadFont我的文档,我发现了这句话:

此方法不会关闭输入流.

不幸的是,这没有被解释或扩展.所以我的问题是:

  1. API不会关闭输入流的可能原因是什么?您是否可能想重新使用该流?我大多使用这样的方法:

    Font.loadFont(getClass().getResourceAsStream("path/to/font"), 13.0); 
    
    Run Code Online (Sandbox Code Playgroud)

    为了确保我的应用程序可以使用该字体,所以我从不重复使用输入流,我真的不能想到我想要的原因.

  2. 我应该自己关闭输入流吗?如果我没有关闭输入流,我应该期待任何问题吗?在过去,我遇到过以这种方式加载字体的问题,其中一些使用此字体配置的标签开始显示正方形,而其他标签(在同一场景中!)保持正常工作.这可能与不关闭输入流有关吗?

java javafx inputstream

5
推荐指数
1
解决办法
89
查看次数

javafx实际默认字体

我在特定的Windows 7计算机上遇到JavaFX应用程序的问题,非英文文本显示不正确.字体设置为系统无处不在,据我所知应该是Windows 7上的Segoe UI(这确实是这台机器上的默认字体).系统的其他部分(非java)中的所有文本都正确显示,因此字体在那里并具有相应的字符集,这使我相信由于某种原因JavaFX无法加载它,而是使用不同的字体.

我的问题是 - 如何找出JavaFX 在特定系统上实际使用的字体?我试过Font.getDefault().getName()但它只是返回"系统",它什么也没告诉我.使用-Djavafx.verbose=true等等也没有产生任何有价值的东西.

在你问之前 - 是的,应用程序是Unicode,它可以在其他机器上运行,包括windows和linux,没有问题.我想尝试和诊断问题所以我不必诉诸重新安装机器(目前不是一个选项),或戏剧性的东西.

编辑:似乎Segoe UI实际上并不包含那个特定的字符集.尽管如此,系统的其余部分还是可以的.因此,更准确的问题是 - 为什么JavaFX无法实现这一点并使用回退?我如何调试/诊断出现了什么问题?

fonts javafx

4
推荐指数
1
解决办法
6942
查看次数

为什么 LongProperty 实现 Property<Number> 而不是 Property<Long>?

我在 JavaFX API 中遇到了一个看似特殊的问题:LongPropertyimplements Property<Number>,但不是Property<Long>

这是什么原因呢?我觉得这一切都源于 Java 固有的协变和逆变问题,因为泛型通过擦除来愚蠢地实现,以保持与字节码的向后兼容性;LongProperty但是同时实施Property<Number> 会出现什么问题Property<Long>呢?

编辑:这个问题源于这个问题:Apply LongProperty to TableColumnprogrammatically (vs语义地)

java generics javafx

3
推荐指数
1
解决办法
348
查看次数

回调<P,R>与功能<T,R>之间的区别

回调函数似乎非常相似.我能找到的唯一重要区别是Function有一些实用的方法来组合函数,而Callback则没有.

在我自己的代码中,我发现自己有时使用一个,有时使用另一个,而没有真正考虑它.果然,他们都乐于接受同样形式的lambdas.

作为Callback一个JavaFX类,我认为它排在第二位,所以我的问题是 - 它为什么被创建?是否有任何具体的理由使用一个而不是另一个?可以安全地投射另一个吗?

java lambda javafx

2
推荐指数
1
解决办法
467
查看次数

标签 统计

java ×5

javafx ×5

date ×1

fonts ×1

fxml ×1

generics ×1

inputstream ×1

jdbc ×1

lambda ×1