java 我应该使用数组还是OR函数?[关闭]

rfbsl7qr  于 5个月前  发布在  Java
关注(0)|答案(1)|浏览(50)

已关闭。此问题为opinion-based。目前不接受回答。
**要改进此问题吗?**更新此问题,以便editing this post可以使用事实和引文来回答。

5天前关闭。
Improve this question
我是一个Java新手,想学习更多关于优化的知识。因此,在我正在做的一个项目中,我遇到了一个独特的解决方案,需要检查一个值是否是四个选项之一,我想知道是简单地搜索数组还是只使用OR语句更好。特别是对于这个项目,我被迫使用String/chars而不是int
还有,如果不麻烦的话,有没有更好的搜索方法?
另外,由于我只使用字符串数组来存储1个数字,将其更改为char是否更有效/更容易理解?
实施例1

String number = 6;

if (number == "0" || number == "2" || number == "6" || number == "8")
{
   System.out.println("TRUE");
}

字符串
例2导入java.util.Arrays;

String[] myList = {0, 2, 6, 8};
String number = 6;

if (Arrays.stream(myList).anyMatch(number::equals))
{
   System.out.println("TRUE");
}

ldxq2e6h

ldxq2e6h1#

不要在流中使用数组,因为这会带来不必要的开销。你可以考虑使用Set<String>来保存数字。这在常数时间内几乎可以工作。

Set<String> digits = Set.of("0", "2", "6", "8"};

String number = "6";
System.out.println(digits.contains(number) ? "TRUE" : "FALSE");

字符串
也可以使用switch语句。

number = "9";
String result = switch(number) {
    case "0","2","6","8" ->"TRUE";
    default -> "FALSE";
};

System.out.println(result);


但是对于少数值,使用||没有什么错

相关问题