我能够使用控制台输出获取输出,如下所示。如何从java中的POJO类返回多个东西
true
false
{2=s, 3=h ,..}
这是两个布尔和哈希表,我想这样,每当我打的服务它就会在浏览器中显示,以回报他们。 如果我使用return语句,那么我只能返回一个东西 我该如何返回这个组合?请用全班或例子解释。
我用新的POJO来获取返回的值,但我对此非常困惑。
package com.vishal;
import java.util.HashMap;
import javax.ws.rs.core.Response;
public class DiffResponse {
private boolean l = false;
private boolean c = false;
public HashMap<Integer, String> hm = new HashMap<Integer, String>();
public DiffResponse setResponse(boolean l, boolean c,
HashMap<Integer, String> hm) {
this.l = l;
this.c = c;
this.hm = hm;
return new DiffResponse();
}}
这是服务
@POST
@Path("/compare/id")
public void delt`enter code here`a() {
String s1 = al.get(0);
String s2 = al.get(1);
String s = null;
boolean l = false;
boolean c = false;
if (s1.length() == s2.length())
l = true;
al.clear();
if (s1.equals(s2))
c = true;
al.clear();
DiffResponse DF = new DiffResponse();
char[] c1 = s1.toCharArray();
char[] c2 = s2.toCharArray();
int minLength = Math.min(c1.length, c2.length);
for (int i = 0; i < minLength; i++) {
if (c1[i] == c2[i]) {
continue;
} else {
s = Character.toString(c2[i]); DF.hm.put(i, s);
}
}
al.clear();
System.out.println(l);
System.out.println(c);
System.out.println(DF.hm);
DF.setResponse(l, c, DF.hm); //this output to be displayed using return
DF.hm.clear();}}
我想知道如何这三个输出组合。
我不明白你的问题,你想从同一个方法返回多个东西? – developer
是,一次输出三个 –
收集setResponse的返回值并将其作为实体添加到您的响应中。但一定要做一个hm的深层副本,而不是仅仅是一个引用,或清除它将反映在你的响应对象。 – Fildor