我使用以下代码将我的 UUID 缩短为四位数:
import java.nio.ByteBuffer;
import java.util.UUID;
/**
* Generate short UUID (13 characters)
*
* @return short UUID
*/
public class UUIDshortener
{
public static String shortUUID()
{
UUID uuid = UUID.randomUUID();
//long l = ByteBuffer.wrap(uuid.toString().getBytes()).getLong();
//return Long.toString(l, Character.MAX_RADIX);
return uuid.toString().hashCode();
}
}
我收到以下错误:
如果有人知道如何解决这个问题,我们将不胜感激。是不是就改成int那么简单?
最佳答案
你的方法签名表明你将返回一个String
public static String shortUUID()
但您实际上返回的是 int
,因为这是 hashCode()
方法的返回类型
return uuid.toString().hashCode();
只需将您的方法签名更改为:
public static int shortUUID()
<小时/>
编辑 - 回答评论
UUID
类上没有 getInt()
方法,因此 uuid.getInt().hashCode()
无法编译。如果你想简化你的 return 语句,你可以直接在 uuid 上使用 hashCode()
,如下所示:
return uuid.hashCode();
关于java - UUID:必需的字符串,找到:int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23226685/