Java:如何创建一个需要扩展类并实现接口的数据类型的generics类?

我想在GWT中创建一个复合,它需要一个扩展类并实现接口的类。 Psudo代码如下(它显然不起作用): class GridRow extends Composite{ //more codes here }

Java正则表达式中带有负前瞻断言的奇怪性

我很难理解Java中正则表达式的行为,并遇到了一些看起来很奇怪的东西。 在下面的代码中,测试突然失败,原因是我在测试时不理解消息标签“6个字母匹配,负面”(后续的两个测试也失败了)。 我一直盯着这个太长时间还是确实发生了一些奇怪的事情? 我不是这与可变长度负向前瞻断言(?!X)有关,但我很乐意听到任何理论,甚至是其他人遇到同样问题的确认,并且它并不特定于我的JVM。 对不起,正则表达式是如此做作,但你不想看到真实的东西:) // $ java -version // java version “1.7.0_10” // Java(TM) SE Runtime Environment (build 1.7.0_10-b18) // Java HotSpot(TM) 64-Bit Server VM (build 23.6-b04, mixed mode) // test of word without agreement String test = “plusieurs personne sont”; // match the pattern with curly braces assertTrue(“no letters matched”, Pattern.compile(“plusieurs personne\\b”).matcher(test).find()); assertTrue(“1 […]

如何在没有传输编码的情况下发送HTTP响应:chunked?

我有一个响应Twilio API的Java Servlet。 似乎Twilio不支持我的回复使用的分块转移。 如何避免使用Transfer-Encoding: chunked ? 这是我的代码: // response is HttpServletResponse // xml is a String with XML in it response.getWriter().write(xml); response.getWriter().flush(); 我使用Jetty作为Servlet容器。

Javah:错误:无法访问android.support.v7.app.ActionBarActivity

我有一个javah的问题,我已经阅读了4或5个stakcoverflowpost,错误“已解决”,但任何事都适合我。 我的问题: 当我执行javah命令时,我有这个错误: Error: cannot access android.support.v7.app.ActionBarActivity class file for android.support.v7.app.ActionBarActivity not found 我试过的: 这是我测试过的命令: C:\Users\MyUser\workspace3\PruebaApp\jni\include>javah -classpath ../../bin/classes;C:\Users\MyUser\AppData\Local\Android\sdk\platforms\android-14\android.jar -o ACK.h com.test.prueba.ACK 我已经尝试了同样的命令,只有“/”而只有“\”用于分离目标。 我用android-11,android-14和android-21试过了。 我试图将以下外部jar添加到我的项目中:“android-support-v4.jar”和“android-support-v7-appcompat.jar” 我试图用eclipse创建一个外部构建配置,就像这里: 找不到Javah Error android.app.Activity 我正在使用的工具 我在Windows 8.1上使用eclipse juno。 我执行命令的文件夹是{project_dir} / jni / include。 我从不同的文件夹中尝试过它,正确地修改了命令。 包含本机函数的.java文件是包中的“ACK.java”:“com.test.prueba” 在项目中,我使用的android库是android 5.0.1 我能做什么? 提前致谢。

我可以在开发模式下使用Lombok和GWT吗?

我尝试按照关于在开发模式下运行lomboked GWT项目的官方说明 ,但要么我做错了,要么这不适用于当前版本的GWT? 我得到的错误是: “对于MyData类型,方法setA(int)是未定义的”。 MyData很简单: @Data public class MyData { private int a; } 我指的是 -javaagent:/path/to/lombok.jar=ECJ 在我的Eclipse Run Configuration中(作为VM参数)。 我也试过玩 -Xbootclasspath / P:/path/to/lombok.jar ,以及从我的ant文件等开始dev模式。 问题是,我大多只是猜测整个设置应该如何工作,所以我不想解决我的不良尝试,我想问一下正确的设置是什么样的?

ArrayListresize

我有一个ArrayList对象,我知道它的确切大小。 有没有办法指定ArrayList不应该扩展其容量? List list = null; int size = getSize(); // gets the exact number of elements I want list = new ArrayList (size); for (int i = 0; i < size; i++) { list.add("String num: " + i); } 我不希望ArrayList重新resize,因为这需要我想避免浪费的时间。

使用JGit对最后一次提交的文件差异

我正在尝试使用JGit来获取上次提交的文件与最近未提交的更改之间的差异。 我怎么能用JGit做到这一点? (使用命令行将是git diff HEAD的输出) 经过几次讨论( link1 , link2 )后,我带来了一段能够找到未经修改的文件的代码,但是我无法得到文件的不同之处 Repository db = new FileRepository(“/path/to/git”); Git git = new Git(db); AbstractTreeIterator oldTreeParser = this.prepareTreeParser(db, Constants.HEAD); List diff = git.diff().setOldTree(oldTreeParser).call(); for (DiffEntry entry : diff) { System.out.println(“Entry: ” + entry + “, from: ” + entry.getOldId() + “, to: ” + entry.getNewId()); DiffFormatter formatter = new […]

将EJB和Servlet用于Web应用程序的首选方法是什么?

我正在努力熟悉JavaEE。 我对每个“组件”(缺少一个更好的词)的目的有点困惑:Session Beans和Servlets,以及它们如何与Web应用程序(客户端JavaScript)正确交互。 为了理解这一点,我正在构建一个简单的Web应用程序。 使用每个组件构建类似于以下内容的首选方法是什么: 用户访问“登录”页面 用户输入数据和点击提交。 然后我用AJAX发送请求以登录用户。 然后,服务器端validation用户输入并“记录”用户(返回用户配置文件等) 发送请求时,是将其发送到Servlet(使用EJB)还是通过WSDL发送到会话Bean? 如何使用这两种方法为该用户维护“状态”? 我认为使用Session Beans就像使用@Stateful注释它一样简单。 此外,我假设从客户端发送的请求必须是SOAP格式。 使用更轻量级的东西(比如JSON)有多容易? 虽然我更喜欢使用轻量级的东西,但是如果SOAP使开发更快/更容易,则没有必要。

为什么JAXB说“xxx是一个接口,而JAXB无法处理接口”。 即使生成的类不是接口

我使用JAXB来绑定我的xsd,然后尝试创建JAXBContext: JAXBContext jaxbContext = JAXBContext.newInstance(“my package name”); 但是JAXB提供了180个IllegalAnnotationsException。 大多数例外都有以下消息: XXX是一个接口,JAXB无法处理接口 XXX没有no-arg默认构造函数 @XmlAttribute / @ XmlValue需要引用映射到XML文本的Java类型。 当我查看生成的类时,它们都不是接口,我无法理解为什么JAXB将它们解释为接口。 这是JAXB报告的错误之一的堆栈跟踪: com.sc.md.datatypes.schemas.csemessage.EnvelopeType is an interface, and JAXB can’t handle interfaces. this problem is related to the following location: at com.sc.md.datatypes.schemas.csemessage.EnvelopeType at protected com.sc.md.datatypes.schemas.csemessage.EnvelopeType com.sc.md.datatypes.schemas.csemessage.cseMessage.envelope at com.sc.md.datatypes.schemas.csemessage.cseMessage com.sc.md.datatypes.schemas.csemessage.EnvelopeType does not have a no-arg default constructor. this problem is related to […]

java.sql.SQLException:连接关闭后不允许任何操作

我已经构建了一个使用session维护的应用程序。 它使用JDBC和mysql。 在服务器(Apache Tomcat 6)上部署应用程序时。 我可以登录并注销会话。 工作完全没问题。 现在我让服务器继续运行24小时。 现在第二天我输入凭据后尝试登录系统,单击“登录”按钮后,我在网页上收到错误,如下所示:(原因是什么?) Http状态500 例外 org.apache.jasper.JasperException:在第11行处理JSP页面/login.jsp时发生exception 9: Connection con =ConnectionProvider.getConnection(); 10: System.out.println(“con “+con); 11: con.setAutoCommit(false); 12: Statement st = con.createStatement(); 13: ResultSet rs; 14: rs = st.executeQuery(“select * from ejduge_login where uname='” + userid + “‘ and pass='” + pwd +”‘”); Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:524) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:417) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) root cause […]