arrayList
には文字列が含まれています。私はまた別の文字列arrayList
を持っています。最初の配列リストに2番目のarrayListの文字列が含まれているかどうかを確認したい場合は、それを印刷します。シンプルなはずですが、動作していないようです(そして、共通の文字列があります)。ここでArrayListには何が含まれているかが検出されません
は私のコードです:
ArrayList<String> che=new ArrayList<String>();
for (int i = 1; i <= rsmd.getColumnCount(); i++) {
System.out.println("COL"+rsmd.getColumnName(i));
che.add(rsmd.getColumnName(i).trim());
}
String key = "";
String keys = "";
for (Entry<String, String> entry : map.entrySet()) {
key = entry.getKey().replace(":","")
.replace(">","MoreThan").replace("__","")
.replaceAll("\\." ,"").replaceAll("\\(s\\)" ,"")
.replaceAll(",$" ,"").replaceAll("%" ,"")
.replaceAll("\\(" ,"").replaceAll("\\)" ,"")
.replace("-" ,"").replace("-" ,"")
.replace("_" ,"").replace("#" ,"")
.replaceAll("\\/", "_").replaceAll("@", "AT")
.replaceAll("&", "AND").replaceAll("\\?", "AND")
.replace("≤","LessThan").replace("≥","MoreThan")
.replaceAll("\\s" ,"").replaceAll("^,","");
for (String n:che){
System.out.println("Che_String "+n);
System.out.println("KEY_String "+key);
if (n==key){
System.out.println("Detected the same: "+key.trim());
}
}
}
私は置き換えがたくさんいることを知っていると私はStringUtils.repaceEach
を使用する必要があると私はそうだろうけどSystem.out.println
出力がその存在を示し、この最初の
をソートする必要がありますいくつかの類似文字列ですが、彼らは、例えば
Che_String Gender
KEY_String Gender
をピックアップされていない。しかし、私のDetected the same:
出力は空です。
私は同じ結果を得たche.contains(key)
も試しました。ジャワ8において
'=='ではなく 'String'sを比較するために' equals'を使います。 – Landei
'=='は参照だけを比較し、内容は比較しません。 – SacJn