3

BeanShellプログラムでは、変数に値を取得します。ここで、この変数の値が取得されなかった場合は、これを「Missing」に設定します。

非常に古いバージョンのBeanshellでは、これを行うために以下に示すコマンドを使用しました--

 contact.toString() != ''

ただし、Beanshellライブラリを更新したところ、最初のアポストロフィの後に2番目のアポストロフィを配置できないというエラーメッセージが表示されます(つまり、''がエラーになっています)。

Beanshellで上記の状態を正しくチェックするにはどうすればよいですか?

4

2 に答える 2

4

Java言語では、文字を示すためにアポストロフィが使用されます。''char値を持つことはできません。ただし、以前のバージョンのBeanshellは、アップグレード後に何らかの理由で壊れた空の文字列への暗黙の変換を行っていた可能性があります。

toString()を使用して有効な値をチェックすることは私には少し無駄に思えますが、'contact'がnullでない場合でも、toString()表現に値がない場合は、次のように文字列値をチェックします。

if(contact != null) {
   contactStr = contact.toString();
   if(contactStr != null @and contactStr.length() > 0) {
     /// value is something other than null or ""
   }
}

そしてtoString()が唯一の方法です

于 2013-01-07T01:27:35.870 に答える
2

contactが定義されているかどうかを確認する場合は、次のようにします。

if(contact == void)

http://www.beanshell.org/manual/specialvarsvalues.html

于 2012-08-31T12:49:27.233 に答える