我有一个接受字符串的方法,它clientid
有以下要求:
clientid
可以是大于零的正数。但如果它是负数或零,则抛出IllegalArgumentException
一条消息。clientid
不能是null
空字符串。但如果是,则抛出IllegalArgumentException
一条消息。clientid
也可以是普通字符串。例如 - 它可以是abcdefgh
或任何其他字符串。
import static com.google.common.base.Preconditions.checkArgument;
public Builder setClientId(String clientid) {
checkArgument(!Strings.isNullOrEmpty(clientid), "clientid cannot not be null or an empty string, found '%s'.",
clientid);
final Long id = Longs.tryParse(clientid);
if (id != null) {
checkArgument(id.longValue() > 0, "clientid must not be negative or zero, found '%s'.", clientid);
}
this.clientid = clientid;
return this;
}
这段代码工作正常。现在的问题是,我不能使用高于版本 11 的 guava 库。如果我确实使用它,那么它会给使用这个库的客户带来问题,所以简而言之,我正在寻找final Long id = Longs.tryParse(clientid);
不使用 guava 的替代品,或者可能与较旧的番石榴版本 11。因为Longs.tryParse
方法是在番石榴 14 或更高版本中添加的。
最好的方法是什么?我们可以从 Apache Commons 使用什么?