これは私にとって非常に奇妙で、完全に私は普通のJavaを使いたいと思う人々の側に私を入れているようです。グルーヴィーなベースのアプリを書いている間、私はそのようなことに遭遇しました:groovy数学で何が問題になっていますか?
int filesDaily1 = (item.filesDaily ==~ /^[0-9]+$/) ?
Integer.parseInt(item.filesDaily) : item.filesDaily.substring(0, item.filesDaily.indexOf('.'))
def filesDaily = (item.filesDaily ==~ /^[0-9]+$/) ?
Integer.parseInt(item.filesDaily) : item.filesDaily.substring(0, item.filesDaily.indexOf('.'))
ので、item.filesDailyが値を持つ文字列であることを知っている「1 .. *」どのようにそれはおそらくfilesDaily1は49とfilesDailyに等しいこと、することができ1に等しいか?それ以上は何
は
int numOfExpectedEntries = filesDaily * item.daysToCheck
ような何かをしようとしたときに例外が
Cannot cast object '111' with class 'java.lang.String' to class 'int'
は乗算とコードの正確なラインを指していることを言って投げられるということです。それはどうしたらできますか?
+1 Groovy 2.0で混乱を招くように見えることは明らかです...単一の文字列は 'char'を介して' int'に変換されます...複数の文字列が例外を投げる –
うん。 ..ポストから数秒後に気づいた。例外メッセージはまだ曖昧です。 –
@den、三項式を 'int filesDaily1 = Integer.parseInt(item.filesDaily =〜/^([0-9]+).*$/)[0] [1])'に変更することができます*もっとシンプルかもしれない...またはそうではありません;-) –