UUID:必需String,找到:int

时间:2014-04-22 17:45:09

标签: java hash uuid incompatibletypeerror

我使用以下代码将我的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();
}
}

我收到以下错误: compiler error message

如果有人知道如何解决这个问题,我将不胜感激。是否像将其更改为int一样简单?

1 个答案:

答案 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();