我能夠使用控制檯輸出獲取輸出,如下所示。如何從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