別の初心者の問題。Groovy でドメイン クラス プロパティに値を割り当てなければならない状況があります。
コードは
cf."$it.key" = it.value
cf."$it.key" のプロパティ タイプは、Integer、Long、または String にすることができますが、it.value は常に String です。cf."$it.key" が Integer または Long の場合、groovy は it.value を ascii 値に変換します (たとえば、it.value が "6" の場合、cf."$it.key" は 54 になります)。それは「7」であり、55 などになります)。現在のところ、以下に示すチェック方法を導入することで問題を解決しています。しかし、問題に対するより良い解決策があるかどうか疑問に思っていました。
if (it.value.isInteger()){ cf."$it.key" = new Integer(it.value) } else if (it.value.isLong()){ cf."$it.key" = new Long(it.value) }
ありがとう