3

私は以下のように非常に単純な関数を定義しようとしてDroolsいます:

import java.util.List;

function int sumLengths(List<String> strings) {
    int counter = 0;
    for (String s : strings)
        counter += s.length();
    return counter;
}

しかし、それは私にエラーを与えます:

Exception in thread "main" java.lang.RuntimeException: [ function sumLengths (line:5):
Unable to resolve type List<String> while building function. java.lang.ClassNotFoundException: Unable to find class 'List<String>' ]

何か案が?

4

2 に答える 2

7

おそらくジェネリックの問題です(これは私にその結論を示しています)。次の(または同様の)ことを試しましたか:

function int sumLengths(List strings) {
    int counter = 0;
    for (Object s : strings)
        counter += ((String) s).length();
    return counter;
}

うまくいかない場合は、代わりにこれを使用できます。

function int sumLengths(String[] strings) {
    int counter = 0;
    int length = (strings != null) ? strings.length : -1;
    for (int idx = 0; idx < length; ++idx) {
        counter += strings[idx].length();
    }
    return counter;
}
于 2012-06-19T07:20:38.340 に答える
-1

への変更

function Boolean consulta(celda cref, java.util.List celdas) {

......

 celda c = (celda) celdas.get(y);
}
于 2018-04-26T03:53:47.933 に答える