3

一意の ID を作成する必要があります。長さは 16 バイトである必要があります。

java.util.UUID に遭遇し、UUID.randomUUID() を使用しようとしました。しかし、生成された UUID の長さが 16 バイトであることを確認するにはどうすればよいでしょうか?

私のJUnitで私は使用してテストしようとしました

Assert.assertTrue(stringUUID.getBytes().length() ==16) 

これは正しいです?

4

2 に答える 2

5

JDK クラスを単体テストする必要はありません (JDK 用のコードを作成している場合を除く)。java.util.UUID適切な 16 バイトの一意の ID を作成します。代わりに、独自のコードのテスト作業に集中してください。

また、(アサーションが失敗した場合に) わかりやすいテスト ケースの出力を得るには、assertEquals を使用することをお勧めします。

assertEquals("UUID has expected length", 16, stringUUID.getBytes().length());

ただし、文字列表現が 16 バイトより長いため、これは失敗します。16進エンコーディングとハイフンとすべて。

于 2012-06-27T06:17:53.960 に答える
3

UUID.randomUUID()メソッドでtype-4UUID を生成します。これは36 byte長い形式xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxxで、x は任意のhexadecimal数字で、y は 8、9、A、または B のいずれかです。f47ac10b-58cc-4372-a567-0e02b2c3d479.

于 2012-06-27T06:26:46.480 に答える