generics和inheritance问题

我有三节课: public abstract class fileHandler { } public A extends fileHandler { } public B extends fileHandler { } 现在在我的主要function中我做这样的事情: fileHandler file= null; If () { fileHandler = new A(); } else fileHandler = new B(): } 但这会产生2个编译时错误: 无法将A转换为fileHandler 无法将B转换为fileHandler 我如何摆脱这些错误,因为如果基类不是通用的,我不会得到这个错误。 更新: 我的class级层次结构是: class fileHandler { } class A extends fileHandler { } class B […]

变量参数构造函数_may_ conflict,但编译

我有两个编译器编译得很好,但我希望Java抱怨模糊的可能性。 public Foo(int id, Bar bar, String name, String description){ } public Foo(int id, Bar bar, String… values){ } 是什么赋予了?

Joda Time bug还是我的错误? (Java Joda时间日期为字符串解析)

所以我在解析日期时遇到问题,使用JodaTime年表IslamicChronology年代IslamicChronology所以写了一个小例子来certificate我的问题。 这是代码: import org.joda.time.Chronology; import org.joda.time.format.DateTimeFormatter; import org.joda.time.format.DateTimeFormat; import org.joda.time.chrono.IslamicChronology; import java.util.Date; /** * Test */ public class Test { public static void main(String[] args) { Date now = new Date(); String format = “dd MMM yyyy”; Chronology calendarSystem = IslamicChronology.getInstance(); DateTimeFormatter formatter = DateTimeFormat.forPattern(format).withChronology(calendarSystem); String nowAsString = formatter.print(now.getTime()); System.out.println(“nowAsString = ” + nowAsString); long […]

双击JTree节点并获取其名称

如何双击JTree节点并获取其名称? 如果我调用evt.getSource() ,似乎返回的对象是一个JTree。 我无法将其强制转换为DefaultMutableTreeNode。

Pattern.compile是否缓存?

它可能是一个实现细节,但对于Oracle和IBM JDK,至少是缓存的编译模式还是我们应用程序开发人员需要自己执行编译模式的缓存?

项目Euler#10 Java解决方案无法正常工作

我试图找到素数<2,000,000的总和。 这是我在Java中的解决方案,但我似乎无法得到正确的答案。 请对可能出现的错误提供一些意见,并对该代码的一般建议表示赞赏。 打印’sum’给出:1308111344,这是不正确的。 编辑:感谢您的帮助。 将int更改为long和<to <=并且它完美无缺,除了是找到素数的低效方法:) /* The sum of the primes below 10 is 2 + 3 + 5 + 7 = 17. Find the sum of all the primes below two million. */ class Helper{ public void run(){ Integer sum = 0; for(int i = 2; i < 2000000; i++){ if(isPrime(i)) sum […]

JAVA Swing MVC – 主控制器?

我在设计我正在尝试开发的应用程序的架构时遇到了一些麻烦。 我正在研究JAVA,我开始研究这个应用程序,因为我想加深我对JAVA,架构和模式的整体了解。 我想按照指南来制作一个可重用,低耦合的应用程序,就像它应该的那样。 该应用程序只有一个JFrame,但在其中有几个JPanel,每个JPanel代表一个应用程序的模块。 问题是:在JAVA Swing中,如何实现适当的MVC模式? 我在如何理解它应该如何完成的方式上挣扎。 我应该有一个主控制器类,它包含对所有其他控制器的引用吗? (我有一张图片来certificate这一点,在这里: https : //docs.google.com/file/d/0B7tBdn5slIFeY2FoSmxESTREQ1k/edit?usp =sharing ) 在这种情况下,是否所有需要更改正在呈现的模块的事件都会重定向到主控制器? 或者我应该将JFrame与应用程序的控制器耦合,并直接与它们通信? 基本上,我想知道我是否需要一个“管理”所有其他课程。 我已经阅读了几个解释和不同意见,但我相信这有点具体。 希望我已经清楚了(并且希望我的解释比我的绘图更好:))。 编辑:应用程序用法的示例: 应用程序的整个生命周期中的一个(仅一个)JFrame; 菜单将在左侧,如BorderLayout.WEST; 应用程序的当前模块将位于中心,如BorderLayout.CENTER; 当用户按下菜单的一个按钮时,相应的模块被加载到BorderLayout.CENTER; 菜单(View)是否应该拥有自己的Controller,并且此Controller与JFrame通信? JFrame将新模块加载到它的布局中? 或者JFrame应该有自己的控制器(或模型,如Gilbert Le Blanc所说)? 我知道这似乎具体或易于理解,但每当我想到桌面应用程序时,我都很难理解这一点。

从Java中的yaml读取地图获取null

使用spring,我在通过java阅读我的yaml时遇到了问题。 让我先说明代码 @Component @EnableConfigurationProperties @ConfigurationProperties(prefix = “countries”) public class UserLimitReader { private HashMap orders; private HashMap requests; public HashMap getOrders() { return orders; } public void setOrderRedeemableLimit(HashMap orders) { this.orders= orders; } public HashMap getRequests() { return requests; } public void setMonthlyRedeemableLimit(HashMap requests) { this.requests= requests; } } 我的yaml文件: cassandra: hosts: localhost:9142, 127.0.0.1:9142 keyspace: test […]

从Java类创建JSON模式

我正在使用Gson将java对象序列化/反序列化为json。 我想在UI显示它,并需要一个模式来进行更好的描述。 这将允许我编辑对象并添加比实际更多的数据。 Gson可以提供json架构吗? 是否有其他框架具有该function?

拆分(“\\”)和错误

String str = “\u0054\u0068\u0069\u006e\u006b\u0050\u0061\u0064”; String[] strArray = str.split(“\\”); 但是这个错误发生了。 线程“main”中的exceptionjava.util.regex.PatternSyntaxException:索引1附近的意外内部错误