对于以下 Java 7 代码,
public static boolean java8Test() {
boolean flag = true;
for(int i = 67 ; i < 79 ; i++) {
if(!testBoolean(i)) {
flag = false;
}
}
return flag;
}
Run Code Online (Sandbox Code Playgroud)
我想编写一个 Java8 代码来使用 java 8 功能对从 67 到 78(包括两者)的一系列数字执行 testBoolean 方法。
此外,java8Test()如果testBoolean返回 false,则应返回 false,但是对于给定数字范围内的所有数字,处理不应停止并继续。
我已经尝试过下面的代码,但是这段代码在返回我不想要的 false 后停止执行 testBoolean 方法。我希望继续执行并记住 java8Test 方法可以在所有数字范围执行后返回的错误标志
public static boolean java8Test() {
return IntStream.range(67, 78+1).anyMatch(index -> !testBoolean(index));
}
private static boolean testBoolean(int index) {
System.out.println(index + "\n");
switch(index) …Run Code Online (Sandbox Code Playgroud) 这是我的客户端代码:
\n\n公共类 ABCServlet 扩展 HttpServlet {
\n\nprotected void doGet(HttpServletRequest request,\n HttpServletResponse response){\n//do blah blah\nString msg = null;\n\njava.io.OutputStream os = response.getOutputStream();\njava.io.ObjectOutputStream oos = new java.io.ObjectOutputStream(os);\noos.writeObject(msg);\nmsg = null;\noos.flush();\noos.close();\n}\nRun Code Online (Sandbox Code Playgroud)\n\n我不知道如何使用上面的代码我的监听器被启动 -
\n\npublic class ABCListener implements MessageListener {\n\n@Override\npublic void onMessage(Message arg0) {\n AbstractJDBCFacade fa\xc3\xa7ade = null;\n try{\n fa\xc3\xa7ade = something;\n throw new UserException();\n }catch(UserException ex){\n log.error("ABC Exception " + ex);\n }\nRun Code Online (Sandbox Code Playgroud)\n\n配置 :
\n\n<bean id="jmsConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">....\n\n<bean id="jmsQueue" class="org.springframework.jndi.JndiObjectFactoryBean">\n\n<bean id="listenerContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer102">\nRun Code Online (Sandbox Code Playgroud)\n\n我有 3 个问题:\n1. 如果不显式地将其放入队列,如何调用侦听器?\n2. 当 onMessage 方法抛出 …
我在这里没有找到任何关于这个问题的线索。我正在尝试使用 java 流删除一个列表 (cars1) 中存在于另一个列表 (cars2) 中的元素(在我的例子中为汽车)。我尝试使用removeIf,但后来感觉它更适合字符串列表等。
Car c1 = new Car();
c1.id = 1;
c1.name = "C1";
Car c2 = new Car();
c2.id = 2;
c2.name = "C2";
List<Car> cars1 = new ArrayList<Car>();
cars1.add(c1);
cars1.add(c2);
List<Car> cars2 = new ArrayList<Car>();
cars2.add(c2);
// TODO : Remove all the cars from cars1 list that are in cars2 list using java streams
Run Code Online (Sandbox Code Playgroud)