协变参数类型如何在java中工作

鉴于Date有一个名为“after(Date)”的方法,而Timestamp有一个覆盖它的方法叫做“after(Timestamp)”,为什么Date中的after方法在下面的代码中被调用? 这里提出了关于意外结果的问题。 java.sql.Timestamp one = new java.sql.Timestamp(1266873627200L); java.sql.Timestamp two = new java.sql.Timestamp(1266873627000L); java.util.Date oneDate = (java.util.Date) one; java.util.Date twoDate = (java.util.Date) two; System.out.println(“one: ” + oneDate.getTime()); System.out.println(“two: ” + twoDate.getTime()); if (oneDate.after(twoDate)) { System.out.println(oneDate.getTime() + ” after ” + twoDate.getTime()); } else { System.out.println(oneDate.getTime() + ” not after ” + twoDate.getTime()); } 结果 one: 1266873627200 […]

Java webdriver:元素不可见exception

我有以下问题。 我有一个隐藏的下拉列表,所以当我进行选择并运行测试时,我收到以下错误: org.openqa.selenium.ElementNotVisibleException: element not visible: Element is not currently visible and may not be manipulated (Session info: chrome=30.0.1599.101) 这是我的选择: Select s = new Select(dropDown); s.selectByVisibleText(“CHARGEBACK”); 是否有一个漫步它来操纵隐藏的元素? 我在其中一个post中找到了以下代码: JavascriptExecutor jse = (JavascriptExecutor) driver; jse.executeScript(“arguments[0].scrollIntoView(true);”, element); 这是html代码: Seleccione un Registro SECURITY CALL CENTER CHARGEBACK PREVENÇÃO A FRAUDE ANALISE DE CREDITO SUPORTE A CONTA REGULARIZAÇÃO FINANCEIRA 它在这种情况下不起作用。 […]

Java JPanel getGraphics()

由于Java仅支持single inheritance ,因此我希望直接在作为类Panel成员的JPanel实例上paint 。 我从成员那里获取了一个Graphics实例,然后将我想要的任何东西绘制成它。 我怎么能不inheritanceJComponent或JPanel并仍然使用getGraphics()来绘制this而不重写public void paintComponent(Graphics g) ? private class Panel { private JPanel panel; private Grahics g; public Panel() { panel = new JPanel(); } public void draw() { g = panel.getGraphics(); g.setColor(Color.CYAN); g.draw(Some Component); panel.repaint(); } } 该面板被添加到JFrame ,该JFrame在调用panel.draw()之前可见。 这种方法对我不起作用,虽然我已经知道如何通过inheritanceJPanel并重写public void paintComponent(Graphics g)来绘制自定义组件,但我不想从JPanelinheritance。

XML解析和反序列化

我有一个xml文件,我从我的class级读它 new SomeClass1() new SomeClass2() 所以我在类中有一个方法,它将一个参数作为一个对象,如下所示 public List retriveValuesFromXml(){ …. This method parses the values from xml and reads the different object and returns a list of objects. } @Test public void someMethod1(){ ArrayList list_of_objects= retriveValuesFromXml(); for(Object x :list_of_objects){ someMethod2(x); //for example : x = new SomeClass1() or x = new SomeClass2() } } public […]

线程如何在Java中工作以及它们的工作方式与方法中的基本代码有何不同?

基本上这个代码有两个在两个类中创建的线程,它们是从第三个类中调用的。 每个线程都有一个循环,并在每次迭代后hibernate。 (代码到底) 输出是: CHECK 0 CHECK CHECK 1 CHECK run one in thread1 CHECK 2 CHECK run two in thread2 1)我不知道它为什么会这样运作。 我的意思是可以先打印CHECK 0 CHECK。 但是为什么CHECK 1 CHECK在Thread1之前打印(而在代码中调用Thread1之后),同样用于CHECK 2 CHECK和Thread2? 2)如果我用System.exit(0)替换CHECK 2 CHECK,就像上面的情况一样,在运行Thread2之前打印CHET 2 CHECK(它是Thread2旁边),为什么System.exit(0)发生在之后在这种情况下运行Thread2? 第二种情况的输出: CHECK 0 CHECK CHECK 1 CHECK run one in thread1 run two in thread2 请告诉我为什么会这样? 为什么方法中的线程和代码会以这种方式混淆? 我想我对java如何管理线程一无所知。 我试了很多,但找不到任何我能理解的东西。 码: […]

Struts2:多个提交按钮

我想在我的jsp中有2个提交按钮,所以我找到了这个教程: http : //struts.apache.org/release/2.3.x/docs/multiple-submit-buttons.html我想开发Nyong Nyong的MyBaseAction类的解决方案,由MySubmitAction和MyClearAction类扩展。 但我无法让它发挥作用。 我不确定jsp将如何,这是在示例中: 但我想这是前面的例子。 我对struts.xml也不太确定,我是否需要设置一些特定的常量值或其他东西? 如果某人可以提供完整的jsp和struts.xml示例,那将会很棒。

如何维护JSONObject的顺序

我正在使用JSONObject来删除JSON字符串中不需要的certin属性: JSONObject jsonObject = new JSONObject(jsonString); jsonObject.remove(“owner”); jsonString = jsonObject.toString(); 它工作正常,但问题是JSONObject是“一个无序的名称/值对集合”,我想保持String在进行JSONObject操作之前的原始顺序。 知道怎么做吗?

sudo登录后运行命令

我正在尝试执行下面的代码来执行sudo命令,但我不知道在sudo登录后如何执行命令 String[] commands = {“sudo su – myname;”,”id”}; JSch jsch = new JSch(); String username = “myuser”; com.jcraft.jsch.Session session = jsch.getSession(username,”hostname”, 22); session.setPassword(“my@123”); session.connect(); Channel channel=session.openChannel(“exec”); for(int a=0;a0){ int i=in.read(tmp, 0, 1024); if(i<0)break; System.out.print(new String(tmp, 0, i)); } if(channel.isClosed()){ System.out.println("exit-status: "+channel.getExitStatus()); break; } } }

Java – 返回Blob的SQLite Web服务

我有一个Java Web服务,它查询包含blob数据的SQLite数据库。 我正在返回sql语句,以便服务的使用者可以插入/更新/删除而不处理数据。 我的问题是当我得到blob数据时,sqlite-jdbc驱动程序说没有实现getBlob函数。 所以我的问题是可行的吗? 是否有更好的驱动程序或方法来完成此任务? 谢谢!

测试从stdin读取并写入stdout的java程序

我正在为java编程竞赛编写一些代码。 程序的输入是使用stdin给出的,输出是在stdout上。 你们如何测试在stdin / stdout上运行的程序? 这就是我的想法: 由于System.in的类型为InputStream而System.out的类型为PrintStream,因此我使用此原型在func中编写了我的代码: void printAverage(InputStream in, PrintStream out) 现在,我想用junit测试一下。 我想使用String伪造System.in并在String中接收输出。 @Test void testPrintAverage() { String input=”10 20 30″; String expectedOutput=”20″; InputStream in = getInputStreamFromString(input); PrintStream out = getPrintStreamForString(); printAverage(in, out); assertEquals(expectedOutput, out.toString()); } 实现getInputStreamFromString()和getPrintStreamForString()的“正确”方法是什么? 我这让它变得比它需要的更复杂吗?