Google Precondition ライブラリの check* メソッドが文字列ではなくオブジェクトを取るのはなぜですか? オブジェクトが String.valueOf() と呼ばれていることがわかります。この設計は、クライアントに代わって想定を行わなかったためだと思います。しかし、クライアントが文字列以外でこれを呼び出す合理的なケースについては考えられません。
クライアントは toString() メソッドを実装したオブジェクトを渡すことができると思います。しかし、これをどのように使用できるかについて、実際の例を挙げていただけますか/これを使用していますか?