gpt4 book ai didi

java - 如何使用 ENUM 从三个中返回随机字符串?

转载 作者:行者123 更新时间:2023-11-29 03:25:42 24 4
gpt4 key购买 nike

通过使用下面的代码,我找到了我所在的数据中心并且它工作正常..

public enum DatacenterEnum {

DEV, DC1, DC2, DC3;

private static DatacenterEnum compareLocation() {
String ourhost = getHostName();

for (DatacenterEnum dc : values()) {
String namepart = "." + dc.name().toLowerCase() + ".";
if (ourhost.indexOf(namepart) >= 0) {
return dc;
}
}
return null;// I don't want to do this now.
}
}

但它可能无法找到任何数据中心,所以目前我正在返回 null

有没有直接的方法或单行命令,我可以通过它随机返回 DC1DC2DC3ENUM 而不是返回 null

我知道一种方法是制作一个字符串列表,然后随机选择 0 到 2 之间的任何整数(含 0 到 2),然后找到该字符串。但是代码太多了,实际上不是,只是想看看有没有其他方法可以做到这一点?

我可以直接在 ENUM 中使用任何简单直接的方法吗?

最佳答案

这是一行:

return DataCenterEnum.values()[new Random().nextInt(3) + 1)];

对于那些需要对其代码进行更严格控制的人,这里有一个更安全的版本,它不依赖于枚举实例的顺序:

return new DataCenterEnum[]{DC1, DC2, DC3}[new Random().nextInt(3)];

关于java - 如何使用 ENUM 从三个中返回随机字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21174918/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com