文字列を受け入れるメソッドがあり、それは文字列または通常の文字列として数値にすることができます。
public Builder setClientId(String clientId) {
checkNotNull(clientId, "clientId cannot be null");
checkArgument(clientId.length() > 0, "clientId can't be an empty string");
this.clientId = clientId;
return this;
}
clientId
ここで、誰かが負の数値"-12345"
またはゼロとして渡されているかどうかを確認してみましょう。"0"
これを解釈してIllegalArgumentException
、メッセージをスローする"clientid must not be negative or zero as a number"
か、他の適切なメッセージである可能性があります。可能であれば、グアバの前提条件を使用してこれを行うにはどうすればよいですか?
提案に従って、私は以下のコードを使用しています:
public Builder setClientId(String clientId) {
checkNotNull(clientId, "clientId cannot be null");
checkArgument(clientId.length() > 0, "clientId can't be an empty string");
checkArgument(!clientid.matches("-\\d+|0"), "clientid must not be negative or zero");
this.clientId = clientId;
return this;
}
それを行うより良い方法はありますか?