【问题标题】:A more effective way to check if several values are true [closed]检查多个值是否为真的更有效方法[关闭]
【发布时间】:2018-03-31 12:27:03
【问题描述】:

我有一段代码必须确保文件存在,如果它确实将它加载到系统中以供读取,如果它不正确,它将以正确的格式创建文件并保存它。我必须多次这样做,因此我创建了一个函数。我想知道是否有一种方法可以将这些大量类似的 if 语句删除并减少它们,这样它就不会使用那么大的 if 语句设置

示例代码:

//Currently my code calls a function called CheckVal to check a file and a file where the data type exists.
//the call looks like this:
public Object CheckVal (File valPath, File fullPath)
{
//this will then check if it exist using .exists() 
if (valPath.exists)
{
//load Value
}
else
{
//Create value
}
return Value;
}

这个数据被多次调用,因此我希望减少对这些函数的调用次数,以减少程序可能花费的总时间。我希望有一个解决方案,因为即使是最小的时间差也会极大地影响程序的速度。

编辑: 为了澄清一下,上述所有方法目前在每次运行 for 循环时大约调用 6 次,可以使用某个目录中的所有文件多次运行该循环。因此,计算长度的微小差异会在程序的更大结果中产生巨大差异。关于文件目录,它本身并没有被调用 6 次;相反,它被用作扩展名并被更改为将文件放在不同的文件夹中。因此,这段代码本质上不是重复的,因为它调用的不是同一个目录而是不同的变体,以确保它们都是一种类型(对象),以便以后计算。

【问题讨论】:

  • 几个值都是真的是什么意思?
  • 这只是一个 if 语句 ;)
  • 那么当只有ifelse ifelse 时,你想如何减少它?因为任何比它小的都不能得到
  • if-else 不会影响程序的速度,相信我。
  • @Lino 澄清我上面的函数每次运行文件的 for 语句最多调用 6 次。这个过程可能会在大文件上完成数百次。因此,我不确定是否有更好的方法来压缩这些数据以节省时间。

标签: java if-statement


【解决方案1】:

使用三元运算符可能会很好,但我不知道它是否真的会提高性能,你可以试试这个:

return valPath.exists() ? loadvalue() : createvalue();

您需要创建两个方法来创建或加载值并返回它。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-03-19
  • 2017-09-15
  • 1970-01-01
  • 1970-01-01
  • 2021-12-10
  • 1970-01-01
  • 2023-04-11
相关资源
最近更新 更多