如何创建方法引用列表?

我需要处理一个列表,并为每个项目调用目标对象上的不同方法。 看起来很优雅,我可以创建一个方法引用列表来执行此操作,因此对于列表中的每个索引,我可以调用与其对应的适当方法引用。 private final static List<Consumer> METHODS = (List<Consumer>) Arrays.asList( TargetClass::setValue1, TargetClass::setValue2, TargetClass::setValue3, TargetClass::setValue4, TargetClass::setValue5); 但是,Eclipse会使用错误标记这些错误。此表达式的目标类型必须是function接口 。 现在,TargetClass这里是一个普通的类,而不是一个接口…这是否意味着没有办法完成我在这里尝试做的事情?

JSR303 – 应用按顺序定义的所有validation组

我有一个我想要进行条件validation的bean。 为此,我定义了一个DefaultGroupSequenceProvider ,它返回要validation的组列表。 现在,在validation违反序列中多个组中的约束的对象时,只有第一个有失败的组才会返回结果。 我想在所有违规行为中收到错误,而不仅仅是第一组失败的错误。 我认为这不需要代码示例,但如果我错了,我会乐意提供一个。 我在创建序列时遵循了这个http://kh-yiu.blogspot.com/2014/04/conditional-bean-validation-using.html 。 如果重要,我们使用Spring。 只是注意,这是有效的,因为无效的bean不可能被报告为有效。 但是如果用户有一些输入打破3个约束,并且我返回2个失败,则用户将在第一个字段被修正后立即在最后一个字段上获得另一个失败。 不完全是用户友好的。 例: 豆 @GroupSequenceProvider(BeanSequenceProvider.class) public class MyBean { @NotEmpty private String name; @NotNull private MyType type; @NotEmpty(groups = Special.class) private String lastName; // Getters and setters } 枚举类型 public enum MyType { FIRST, SECOND } 提供商 public class BeanSequenceProvider implements DefaultGroupSequenceProvider { @Override public […]

Web Java变量重置

我使用Java中的Ajax创建了Hibernate和Struts 2的网站。 基本上,当我创建时,修改任何本地内容(在.java中),比如将值赋给int ,在下次检查时为null 。 每次都会发生这种情况 这是struts.xml我的大部分页面都以这种方式出价: /MyAccount.jsp 客户端只是一个实现了CRUD的bin类: public class Client extends ActionSupport { private static final long serialVersionUID = 1L; private Long idClient; private String login; private String password; private String nom; private String prenom; private String adresse; private String ville; private int cPostal; private String email; private Set panier = new HashSet(0); […]

IntelliJ IDEA 13 + Tomcat 7部署

我尝试在Tomcat7上的IDEA中部署空Web应用程序。 Tomcat停止在线工作: INFO: Deploying web application directory C:\devel\Servers\apache-tomcat-7.0.52\webapps\manager 而且没有其他行动要做。 Tomcat是清晰的,并且通过cmd运行正常。

如何使用@Inject批注在Java中堆叠自定义注释

我在浏览时多次看到这一点..人们正在使用自己的@Inject注释来注入EntityManager如下所示: @Inject @MyEm EnityManager em; 因为你不能只注入EntityManager 。 你只能用@PersistenceContext来做。 有没有人知道如何使这项工作(使用自定义注释),因为我没有在网上找到任何信息? 如果可以,请举个例子。

在第一个jsp程序上使用eclipse设置tomcat

我只是按照春季教程( http://static.springsource.org/docs/Spring-MVC-step-by-step/part1.html )进行操作 我下载了这个版本的Eclipse: http : //www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/galileosr1 我猜tomcat是单独安装的吗? 更新 Ant是否已准备好与eclipse一起使用,或者这是我必须要做的另一件事情? 🙂

调试语句的最佳实践是什么,其中包含字符串操作?

我经常发现自己在log4net和log4j的调试语句中添加了连接字符串或使用字符串格式化器,我应该用“if debug”块来包围这些调试语句,以便通过处理这些参数来阻止自己浪费资源,即使调试语句将会不打印出来? 我会假设检查if(isDebug)是否比发生字符串操作更快更有效,但是当调试级别设置高于debug时,它会导致程序以不同的方式运行(更快),这可能意味着同步问题当我写入日志时,在生产中发生的事情不会发生。

JUnit:具有私有字段的测试构建器

我是初学者,我在类的构造函数中遇到了JUnit测试的问题。 我想测试的类名为IntSortedArray,如下所示: public class IntSortedArray { private int[] elements; private int size; public IntSortedArray() { this.elements = new int[16]; this.size = 0; } public IntSortedArray(int initialCapacity) throws IllegalArgumentException { if(initialCapacity < 0) { throw new IllegalArgumentException("Error – You can't create an array of negative length."); } else { elements = new int[initialCapacity]; size = 0; […]

Java字节值不正确

我有这个hex值93,十进制值应该是147.由于这个数字小于255,它可以在一个字节中表示。 在java中我做到了这一点 System.out.println((new Integer(1)).byteValue()); //prints 1 System.out.println((new Integer(147)).byteValue()); //prints -109!!! WHY? 我不明白的是什么? 用147的整数代替打印147它打印-109 …

如何从Apache POI获取脚注和段落?

我有代码从Apache POI中的.doc文件中获取段落,但我也想得到脚注。 另外,这是获取段落的唯一方法吗? 代码到目前为止: InputStream stream = … HWPFDocument document = new HWPFDocument(stream); Range range = document.getRange(); StyleSheet stylesheet = document.getStyleSheet(); for (int i = 0; i < range.numParagraphs(); i++) { Paragraph paragraph = range.getParagraph(i); String text = paragraph.text(); } 有任何想法吗?