3

在一个 beanshell 程序中,我在一个变量中得到一个值。现在,如果没有为该变量获得值,那么我想将其设置为“缺失”

在一个非常旧的 Beanshell 版本中,我使用如下所示的命令来执行此操作——

 contact.toString() != ''

但是我更新了 Beanshell 库,现在我收到一条错误消息,指出我不能在第一个撇号之后放置第二个撇号(即 '' 是错误的)。

如何在 Beanshell 中正确检查上述情况?

4

2 回答 2

4

Java 语言中使用撇号来表示字符。你不能有一个 '' char 值。然而,早期版本的 beanshell 可能一直在对空字符串进行一些隐式转换,在升级后不知何故被破坏。

使用 toString() 检查有效值对我来说似乎有点浪费,但如果 'contact' 不为空,但在 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已定义,请执行以下操作:

如果(联系 == 无效)

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

于 2012-08-31T12:49:27.233 回答