使用上边界通配符时不兼容的类型

我真的很困惑上界类型在Javagenerics中是如何工作的。 比方说我有 interface IModel interface I class A implements I class B implements I class C implements I 那么我有一个带参数的方法如下 foo(IModel<Map<? extends I, Map<? extends I, List>>> dataModel) 调用那个方法就像 IModel<Map<A, Map<B, List>>> model = … foo(model) 以编译错误结束 Error:(112, 49) java: incompatible types: IModel<java.util.Map<A,java.util.Map<B,java.util.List>>> cannot be converted to IModel<java.util.Map<? extends I,java.util.Map<? extends I,java.util.List>>> 我已经从Oracle网络上阅读了关于Javagenerics的文档,试图谷歌它,但必须有一些我完全被误解的东西。

JavaFX冻结问题

我正在搞乱JavaFX API,由于某种原因,这个应用程序似乎在(看似)随机的时间后冻结。 它是一个应用程序,使红绿色渐变图案,并有一个很酷的动画与它一起使用。 运行应用程序时,按Enter键,动画将开始。 经过一段时间(看起来像我之前说的那样随机)它会停止更新,但是计时器继续运行,循环也是如此,并且仍然使用正确的参数调用setColor方法,这让我认为PixelWriter被冻结或窗口未更新。 我所做的代码如下: package me.dean; import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.canvas.Canvas; import javafx.scene.canvas.GraphicsContext; import javafx.scene.image.PixelWriter; import javafx.scene.input.KeyCode; import javafx.scene.layout.Pane; import javafx.scene.paint.Color; import javafx.stage.Stage; import java.util.Timer; import java.util.TimerTask; public class DeansApp extends Application { CoolAnimation canvas; @Override public void start(Stage primaryStage) throws Exception { canvas = new CoolAnimation(); canvas.setWidth(255); canvas.setHeight(255); primaryStage.setScene(new Scene(new Pane(canvas))); […]

Java和C#之间的通信

我发现有一个名为GCT的.Net工具包 – Group Communication Toolkit是JGroup的C#版本。 我想知道这个和JGroup是否可以连接在一起,以使java和C#客户端相互通信。 如果没有,那么使java程序和C#程序进行通信的最佳选择是什么? 我遇到的另一个选择是XMPP实现。 我需要在同一台计算机上运行的这两个程序之间传递非常快的消息。 主要要求是,当某些特定事件被触发时,该程序中的任何一个都会向另一个发送消息。 任何想法都欢迎。

使用具有不同根和节点类型的TreeTable

我有以下问题: 我希望有一个类似JTeeTable的表组件,除了根(下面的类)和树的节点不是同一类型。 例如,假设我有以下类: public final class Entry { private int id; private String title; private String notes; private List subEntryList; /** @see SubEntry*/ } public final class SubEntry{ private int id; private String title; private String notes; } 虽然这两个类看起来相似并且可能激发inheritance的情况, 但它们并不是那样相关的 。 可以把它想象成一辆带有汽车零件清单的车或带有演员名单的电影。 两个星期以来,我一直试图想办法在视觉上呈现上述内容。 我想过使用JTreeTable组件,但是当子条目(节点??)与条目(leaf ??)属于同一类型时,我所有的例子都是交叉显示用法。 我的想法到目前为止:看到如果我使用表,列将共享相同的名称,我认为我应该使用表和另一个表作为TableCellRenderer,然后双击父行支持显示/隐藏。 我不知道如何向前迈进…… 所以,如果您有任何想法我应该如何解决这个问题,请分享您的想法。 UPDATE //I finally managed to sort out […]

Zip文件在上传到服务器时损坏

我的java程序将zip文件从我的系统上传到FTP服务器。 uploadfile()是一个包含上传代码的函数。 uploadfile( “192.168.0.210”, “muruganp”, “vm4snk”, “/首页/管理/ GATE521 / LN_RB_Semivalid2junk /输出/” +日期+ “_ RB1.zip”, “/文件服务器/ filesbackup / EMAC /” +日期+“_ RB1 。压缩”); public static boolean uploadfile(String server, String username, String Password, String source_file_path, String dest_dir) { FTPClient ftp = new FTPClient(); try { int reply; ftp.connect(server); ftp.login(username, Password); System.out.println(“Connected to ” + server + “.”); […]

用javamail连接到hotmail?

我想知道是否可以使用JavaMail连接到Hotmail? 我试过这个,但它不起作用,连接被拒绝了…… String host = “pop3.live.com”; String username = “laqetqetqet@hotmail.com”; String password = “rqetqetq”; Session session; Store store; String SSL_FACTORY = “javax.net.ssl.SSLSocketFactory”; Properties pop3Props = new Properties(); pop3Props.setProperty(“mail.pop3.socketFactory.class”, SSL_FACTORY); pop3Props.setProperty(“mail.pop3.socketFactory.fallback”, “false”); pop3Props.setProperty(“mail.pop3.port”, “995”); pop3Props.setProperty(“mail.pop3.socketFactory.port”, “995”); URLName url = new URLName(“pop3”, host, 995, “”, username, password); session = Session.getInstance(pop3Props, null); store = new POP3SSLStore(session, url); store.connect(); […]

具有“相同”名称的多个IntelliJ / Maven模块?

作为来自.NET世界的Java / Maven / IntelliJ的新手,下面的项目结构(嵌套模块具有通过IDE创建的“本地” core子模块,没有手工制作的pom )对我来说非常有意义。 为什么IntelliJ在重新开放项目后不喜欢多core ? 是不好的项目/文件夹结构? 我是否可以绕过它而不必为每个core添加冗余的foo-bar-和foo-baz-限定符并污染项目窗口( artifactId已将它们用于构建)? http://i.stack.imgur.com/mP8Ch.png

书:现代相当于Wrox Spring的书

我喜欢约翰逊2005年出版的“Spring Framework的专业Java开发”一书。 在本书提供的质量和清晰度方面,2008-9相当于什么呢? 基本上是为Spring的新人寻找一本书,我仍然认为2005年的书有些相关,但从那以后,Spring的世界发生了很大变化。

Java-EE6:FetchType.LAZY与静态编织抛出奇怪的exception

我的解决方案包含3个不同的项目: 使用Netbeans自动生成Facade的EJB项目来管理实体类和persistence.xml 包含所有@Entity注释和静态编织数据库类的类库,以及用于外观ejb的远程接口(在EJB和独立客户端之间共享) 独立客户端,主要由Swing GUI类组成 我使用Glassfish 3.1.2,Eclipselink 2.3作为JPA-provider,Netbeans 7.1.1和MySQL数据库。 我配置了一个Ant-task,它基于persistence.xml静态编织我的实体类。 我有几个@OneToOne,@ ManyToOne和@ManyToMany用fetch = FetchType.LAZY装饰的实体之间的注释关系。 现在我得到了以下错误: Exception in thread “Mainframe Loader” Local Exception Stack: Exception [EclipseLink-7242] (Eclipse Persistence Services – 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.ValidationException Exception Description: An attempt was made to traverse a relationship using indirection that had a null Session. This often occurs when an entity with […]

Nashorn访问非静态Java方法

在Java 7(1.7)中,我可以通过运行以下命令从JavaScript访问Java方法: ScriptEngine jse = new ScriptEngineManager().getEngineByName(“JavaScript”); jse.eval(“importClass(net.apocalypselabs.symat.Functions);”); jse.eval(“SyMAT_Functions = new net.apocalypselabs.symat.Functions();”); String input = “notify(\”Foo\”);”; // This is user input jse.eval(“with(SyMAT_Functions){ “+input+” }”); 哪个将从Functions java类运行notify()函数: public class Functions { private Object someObjectThatCannotBeStatic; public void notify(Object message) { JOptionPane.showMessageDialog(null, message.toString()); } /* Lots more functions in here, several working with the same non-static variable */ […]