java - UUID:必需的字符串,找到:int

标签 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那么简单?

最佳答案

你的方法签名表明你将返回一个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/

相关文章:

java - android应用程序中的计算功能导致强制关闭,这里出了什么问题?

python - 使用 md5/sha1 哈希命令的简单编程语言?

c# - 有没有办法从 Guid 列表中生成 Guid?

javascript - 在 JavaScript 中将十六进制数字格式化为短 UUID

php - 在不使用外部库的情况下在 PHP 中生成 UUID 的最佳方法

java - 数组的 Jackson-CSV 架构

java - 为什么不能调用 List<Number> 而不是 List<Integer> 即使 Integer 扩展了 Number?

Android检查是有效的UUID

java - JPanel 对 MouseEvents 没有反应?

ruby-on-rails - Ruby on Rails : hash. 每个 {} 问题