我使用以下代码将我的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一样简单?
答案 0 :(得分:1)
您的方法签名表示您将返回String
public static String shortUUID()
但实际上您正在返回int
,因为这是hashCode()
方法的返回类型
return uuid.toString().hashCode();
只需将您的方法sig更改为:
public static int shortUUID()
编辑 - 回答评论
getInt()
类上没有UUID
方法,因此uuid.getInt().hashCode()
将无法编译。如果你想简化你的return语句,你可以{i}直接在{uuid} hashCode()
这样:
return uuid.hashCode();