java可选参数

我想在java中编写一个平均方法,它可以消耗N个项目,返回它们的平均值: 我的想法是: public static int average(int[] args){ int total = 0; for(int i=0;i<args.length;i++){ total = total + args[i]; } return Math.round (total/args.length); } //test it average(1,2,3) // s**hould return 2. 如何更改我的方法以使用任何数量的参数而不是int [] args所以可以按我想要的方式工作? 干杯

jax-b xml具有多对多关系的反向引用

我的数据模型中有很多关系。 我一直在尝试使用JAX = B来获取数据模型的XML表示,但是我已经读过一对多的关系: @XmlInverseReference 需要用于映射的反面。 我相信这是为了使用不同的提取类型(即LAZY和EAGER)。 我不确定这个注释是如何工作的。 它是否使用后向指针来确保在某些字段上指定数据时不会获取数据? 我也不知道是否需要用上述注释来注释我的多对多关系。 这是与自身有多对多关系的用户类,即。 用户可以是许多其他用户的朋友。 我应该用@XmlInverseReference注释getter吗? @Entity @Table(name = “users”) public class User implements Serializable { … // bi-directional many-to-many association to User @ManyToMany(cascade = { CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH }) @JoinTable(name = “friends”, joinColumns = { @JoinColumn(name = “uid”) }, inverseJoinColumns = { @JoinColumn(name = “frienduId”) }) private […]

同步数据读/写主存储器

当一个synchronized方法完成时,它是否只将它修改的数据推送到主存储器或所有成员变量,类似于同步方法执行时,它是否只读取主内存所需的数据,还是清除所有缓存中的成员变量并从主内存中读取它们的值? 例如 public class SharedData { int a; int b; int c; int d; public SharedData() { a = b = c = d = 10; } public synchronized void compute() { a = b * 20; b = a + 10; } public synchronized int getResult() { return b*c; } } 在上面的代码中,假设compute由threadA执行,getResult由threadB执行。 执行compute之后,threadA会用a和b更新主内存,还是会更新a,b,c和d。 在执行getResult之前,threadB只从主内存中获取b和c的值,还是清除缓存并获取所有成员变量a,b,c和d的值?

JavaFX更新textArea

我有一个简单的JavaFX应用程序,它有一个TextArea。 我可以使用start()方法中的以下代码更新textArea的内容: new Thread(new Runnable() { public void run() { for (int i = 0; i < 2000; i++) { Platform.runLater(new Runnable() { public void run() { txtarea.appendText("text\n"); } }); } } }).start(); 代码只是将text字符串写入TextArea 2000次。 我想从一个在start()方法之外实现的函数更新此textArea。 public void appendText(String p){ txtarea.appendText(p); } 可以从使用JavaFX应用程序更新TextArea的任意程序调用此函数。 我怎样才能在appendText函数中执行此操作?

从给定节点提取子节点数据

我想使用DOM4j在Java中解析xml文件。 我以此XML为例: Content-Type=application/xml booking created! 给定请求(第一个节点)节点,如何提取子节点数据? 例如,获取状态代码或名称属性?

使用JPA保持Map

什么是在类中持久保存以下地图的最佳方法: @Entity class MyClass { @ManyToMany(cascade = CascadeType.ALL) Map myMap = new HashMap(); } 我试过这个,但代码导致: 引起:org.hibernate.AnnotationException:使用@OneToMany或@ManyToMany定位未映射的类:mypackage.myClass.myMap [java.lang.Float]

通过我的程序路由所有数据包?

我想构建一个应用程序,通过我的应用程序路由所有网络流量(不仅仅是HTTP)。 基本上,我想要的是给我的应用程序的所有流量(它们永远不应该达到实际目标,我的应用程序应该处理这个),然后将其转发到服务器; 同样适用于输入,只需反转(服务器 – >应用程序 – >想要答案的程序)。 是否有任何库(或类似的东西)可以使创建应用程序更容易? 我正在寻找可以从Python或Java中使用的东西,但如果真的需要,我可以学习另一种语言。

根据文本大小自动调整JTable列的大小

我有一个JTable,其中一些字段包含长文本,一些字段包含少量文本。 默认情况下,它的外观如下: 注意如何缩短“名称”和“标题”行。 我想知道两件事: 如何手动设置标题的宽度(如姓名,标题,姓氏) 如何根据文本自动调整所有这些大小。 这是代码: String[] columnNames = {“Name”, “Title”, “Surname”, “ID”}; Object[][] testData = { {“John”, “Mr.”, “Doe”, “61020384U”}, }; nameTable = new JTable(testData, columnNames); nameTable.setFont(new Font(“Tahoma”, Font.PLAIN, 11)); window.add(new JScrollPane(nameTable)); 我看过Swing Tutorials,但我要么错过了一些东西,要么就是不存在。

将comm.jar添加到我的jar中

我将comm.jar库添加到我的.jar然后得到javax.comm.NoSuchPortException 。 这个bug是因为我没有将javax.comm.properties和win32com.dll添加到我的jar中吗? 如何在清单中添加此文件?

在调试测试时,使用DatabaseManager连接到内存Hsql(高超音速)数据库

我想在我的IDE(Intellij IDEA 11.1.2)中调试测试时,使用hsql DatabaseManager(或swing版本,无关紧要)连接到内存中的HSQL数据库实例。 我按照这个答案的建议尝试了,但每次我这样做时,DatabaseManager进程/线程(我不知道哪个)启动并冻结。 如果kill / force退出它,调试会话也会死掉。 如果没有DatabaseManager冻结,我怎么能这样做呢?