我已经使用LinkedHashMap因为它在键入地图的顺序是重要的。 但是现在我想要把钥匙的价值放在第一位(第一个input的项目)或最后一个。 应该有像first()和last()类的方法吗? 我是否需要有一个迭代器才能获得第一个键入? 这就是为什么我使用LinkedHashMap ! 谢谢!
我已经在Windows 7上安装了最新的maven-3.0.4 : 安装细节如下: 安装path: C:\apache-maven-3.0.4 环境variables是: M2_HOME C:\apache-maven-3.0.4\apache-maven\src JAVA_HOME C:\Program Files\Java\jdk-1.7.0_04 添加的pathvariables是: %M2_HOME%\bin;%JAVA_HOME%\bin; 在命令窗口中显示如下: C:\>java -version java version "1.7.0_04" Java(TM) SE Runtime Environment (build 1.7.0_04-b22) Java HotSpot(TM) Client VM (build 23.0-b21, mixed mode, sharing) C:\>mvn -version Error: Could not find or load main class org.codehaus.plexus.classworlds.launcher.Launcher 这是我的电脑上安装maven的唯一版本,许多博客上提到的删除前一个M2_HOME环境variables的解决scheme是无效的。 我已经阅读并尝试了博客上提供的所有解决scheme,例如: oracle博客 , stackoverflow问题 , 另一个堆栈问题 , 一些博客 […]
来自C和C ++的背景,我发现明智地使用typedef是非常有用的。 您是否知道在Java中实现类似function的方法,无论是Java机制,模式还是其他有效的方法?
我有一个包含Java应用程序的JAR文件。 我怎样才能使它开始与Windows,而不需要用户的交互?
我已经将物质的外观和感觉整合到了我的应用程序中,并遇到了有关它的内部EDT(Event Dispatch Thread)检查例程的几个问题。 物质绝对拒绝在EDT之外构buildUI类。 我已经做了很多Swing / AWT,并且我知道关于EDT的大部分规则。 我使用SwingWorker,SwingUtilties.invokeLater来修改组件。 我总是认为这些组件可以在EDT之外构build ,但是必须在EDT上实现和操纵 。 换句话说,您可以在后台构造和设置默认值,但是对pack / setVisible的调用必须是EDT以及任何后续调用组件的调用。 我问的原因是,我有一个特别“结实”的窗口来构build,涉及到许多小部件,状态和资源(很多图标)。 之前,我在SwingWorker的背景方法上构build了窗口,并使窗口在done方法中可见。 从来没有一个单一的问题。 切换到物质后,内部的EDT检查咬我。 我已经能够重构代码来解决这个问题。 我可以在EDT上构build这个不好的解决scheme,因为整个应用程序都会阻塞。 我还可以重构更多的东西,并尽我所能加载EDT以外的所有额外资源。 包装它… 构build Swing / AWT小部件不是在事件派发线程安全吗?
我想在HDFS中创build一个文件并在其中写入数据。 我用这个代码: Configuration config = new Configuration(); FileSystem fs = FileSystem.get(config); Path filenamePath = new Path("input.txt"); try { if (fs.exists(filenamePath)) { fs.delete(filenamePath, true); } FSDataOutputStream fin = fs.create(filenamePath); fin.writeUTF("hello"); fin.close(); } 它创build文件,但是不会写任何东西。 我搜查了很多,但没有find任何东西。 我的问题是什么? 我需要任何权限写入HDFS? 谢谢。
我正在制作一个项目,我正在试图制作一个绘画程序。 到目前为止,我已经使用netbeans来创build一个GUI并设置程序。 到目前为止,我可以调用所有必要的协调来绘制它,但是我很困惑如何真正地在里面绘画。 在我的代码的最后,我有一个失败的尝试在面板内绘图。 任何人都可以解释/显示如何在这样的例子中使用graphics? 我find的所有示例都使用JPanel创build了一个类并将其扩展,但是我不知道是否可以这样做,因为它是在netbeans中生成的。 我需要在JFrame内部绘制一个JPanel 。 我不知道把graphics类放在哪里。 JavaPaintUI类 package javapaint; import java.awt.*; import javax.swing.*; public class JavaPaintUI extends javax.swing.JFrame { public JavaPaintUI() { initComponents(); } private void initComponents() { jPanel2 = new javax.swing.JPanel(); jPanel2.setBackground(new java.awt.Color(255, 255, 255)); jPanel2.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED)); jPanel2.addMouseListener(new java.awt.event.MouseAdapter() { public void mousePressed(java.awt.event.MouseEvent evt) { jPanel2MousePressed(evt); } public void mouseReleased(java.awt.event.MouseEvent evt) { […]
我创build了一个包含我所有编译的东西的jar文件。 此外,我的ant构build脚本将所需的库复制到子文件夹“库”。 结构如下所示: MyProgram.jar libs/ 所以当我尝试运行我的程序时,我得到以下错误: java -cp ".:/home/user/java/MyProgram/jar/libs" -jar MyProgram.jar java.lang.ClassNotFoundException: org.postgresql.Driver at java.net.URLClassLoader$1.run(URLClassLoader.java:217) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:321) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:266) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:186) at database.PostgresQL.getConnection(PostgresQL.java:38) at recommender.dao.Creative2IdxDAO.createCreatives2Idx(Creative2IdxDAO.java:19) at main.Main.calculateCorrelationMatrix(Main.java:51) at main.Main.main(Main.java:28) java.lang.NullPointerException at recommender.dao.Creative2IdxDAO.createCreatives2Idx(Creative2IdxDAO.java:25) at main.Main.calculateCorrelationMatrix(Main.java:51) at main.Main.main(Main.java:28) 为什么会发生?
我有代码来计算两个数字之间的百分比差异 – (oldNum – newNum) / oldNum * 100; – 这两个数字是double的。 我预计在oldNum为0的情况下,必须添加某种检查/exception处理。但是,当我对oldNum和newNum执行的值为0.0的testing运行时,执行继续,因为没有发生任何事情,也没有发生错误。 用int s运行这个代码肯定会导致一个除零算术的exception。 为什么Java在忽略double s时忽略它?
我刚刚安装了Android SDK R16和JDK 7,但是我不断收到错误 Android需要编译器符合性级别5.0或6.0。 发现'1.7'。 请使用Android工具>修复项目属性。“ 我正在使用JRE 1.7的一些function,所以我不能把它切换到1.6。 我该如何解决这个问题?