gpt4 book ai didi

java - 优化代码以提高清晰度和效率

转载 作者:行者123 更新时间:2023-12-01 22:56:53 25 4
gpt4 key购买 nike

这段代码工作正常,但我需要简化它以使其更加清晰并希望提高效率:

int i = 0;

if (p.cap()) n++;
if (p.creditcard()) n++;
if (p.email()) n++;
[...]
if (p.price()) n++;
if (p.url()) n++;
if (p.zip()) n++;

if (n == 0) p.standard();

正如代码所说,我需要调用多个方法(我不知道它们的有限数量)。每个 p.()* 方法都会返回一个 boolean 值,并且仅当返回的值为 true 时 n 才会递增。如果 n==0(当调用的每个方法都返回 false 时会发生这种情况),那么我需要调用 p.standard()

怎样才能写出更清晰、更高效的代码?我尝试使用或条件,如下所示:

if (!( p.cap() || p.email() || p.isbn() || p.number() || p.phone() ||
p.price() || p.time() || p.url() || p.zip() || p.creditcard()
)) {
p.standard();
}

但显然它不能正常工作(例如:如果 p.cap() 返回 true,则不会调用其他方法)。

我需要调用每个方法。

最佳答案

您没有指定是否每个方法都必须被调用,但似乎您想调用所有方法,而不管个别结果如何。因此,请使用简单的或运算符: | (不是短电路或||)。

if (!( p.cap() | p.email() | p.isbn() | p.number() | p.phone() |
p.price() | p.time() | p.url() | p.zip() | p.creditcard()
)) {
p.standard();
}

关于java - 优化代码以提高清晰度和效率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11244080/

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