4

以下のデータを含むプロパティファイルがあります:

acqurierSystemAlias=CTC0,CTC1,CTC2,CTC3,CTC4,FEXCO,AMEX,DINERS

今メインプログラムで:

String acqurierSA = "CTC1";
String[] acqurierSystemAlias = properties.getProperty("acqurierSystemAlias").split(",");

for(String xyz: acqurierSystemAlias){
    if(xyz.equalsIgnoreCase(acqurierSA)) {
        System.out.println("true");
    } else {
        System.out.println("false");
    }
}

これは私を返しています: false, true, false,falsefalse

私の要件は、プロパティファイルにあるtrue場合は返すか、そうでない場合は返すことだけです。単一の値のみが必要です。現在、ループ内の値を返しています。acqurierSAfalse

4

5 に答える 5

6

listフォームArrayを作成してから確認できますcontains()

String[] acqurierSystemAlias = properties.getProperty("acqurierSystemAlias").split(",");

List<String> lList=Arrays.asList(acqurierSystemAlias);

boolean found=lList.contains(acqurierSA );
System.out.println(found);

配列をトラバースする必要はありません。

于 2012-07-19T09:10:01.690 に答える
3

これを行うには、専用の変数を使用できます。

boolean found = false;

for(String xyz: acqurierSystemAlias){
    if(xyz.equalsIgnoreCase(acqurierSA)){
        found = true;
        break;
    }
}
System.out.println(found);
于 2012-07-19T09:01:49.367 に答える
1

たぶん、プロパティを分割する必要はありません

System.out.println(("," + properties.getProperty("acqurierSystemAlias") + ",").contains("," +acqurierSA+ "," ));
于 2012-07-19T09:10:12.347 に答える
0

これをチェックして。

String acqurierSA = "CTC1";
String[] acqurierSystemAlias = properties.getProperty("acqurierSystemAlias").split(",");

List<String> strList = Arrays.asList(acqurierSystemAlias);
strList.contains(acqurierSA);
于 2012-07-19T09:11:56.047 に答える