import java.util.ArrayList;
import java.util.List;
public class QueryParser {
QueryParameter queryParameter = new QueryParameter();
public static int flag = 0;
public QueryParameter parseQuery(String queryString) {
queryParameter.setGroupByFields(getGroupByFields(queryString));
queryParameter.setAggregateFunctions(getAggregateFunctions(queryString));
return queryParameter;
}
private List<AggregateFunction> getAggregateFunctions(String queryString) {
List<AggregateFunction> aggregateFunctionList = null;
AggregateFunction aggregateFunction;
if (queryString.contains("count") || queryString.contains("sum") || queryString.contains("min")
|| queryString.contains("max") || queryString.contains("avg")) {
flag = flag + 1;
}
return aggregateFunctionList;
}
private List<String> getGroupByFields(String queryString) {
List<String> groupByFieldList = null;
if (queryString.contains("group by")) {
flag = flag+2;
return groupByFieldList;
}
}
這是我的代碼,現在我從另一個類使用 int i = queryParser.flag
, 訪問標誌,但它始終返回0。如何聲明標誌,這樣它會保存從價值觀內部方法,也可以從其他類訪問。/*如果有人需要更多的細節,請問我會添加更多的細節,我應該寫什麼,我的主要疑問是隻知道我怎麼能在另一個班級使用我的國旗,感謝您的耐心*/標誌總是返回0到另一個類
歡迎來到SO。 TL; DR;請參閱[如何提問](https://stackoverflow.com/help/how-to-ask):「假裝你正在和一位忙碌的同事談話,並且必須用一句話來概括你的整個問題」。發佈最短的代碼來展示問題。請參閱:[mcve]。製作mcve也將幫助您調試和隔離問題。你可能會發現問題不在於'flag'的聲明中,而是改變其值的邏輯。 – c0der
嗨,你能指出我可以如何改變標誌值(僅供參考:我現在減少了代碼) – Krishna
減少代碼是好的,但它不會使它[mcve] – c0der