gpt4 book ai didi

java - 带有内部赋值的 While 循环导致检查样式错误

转载 作者:搜寻专家 更新时间:2023-11-01 02:46:44 26 4
gpt4 key购买 nike

我正在检查我的代码以确保它符合 CheckStyle 标准。

我个人觉得“无内部赋值”规则让代码更难理解(你必须查看 3 个地方而不是 1 个)。

有没有什么方法可以通过在 while 循环中创建一个 {} block 来执行我的分配并返回一个 boolean 值来保留我的单个区域?!

你有什么看法?

File file = new File("C:\\test.txt");
FileInputStream fileInputStream = new FileInputStream(new FileInputStream(file));

// Inner Assignment
while ((int i = fileInputStream.readLine()) != -1)
{
//
}

// No Inner Assignment
int i = fileInputStream.readLine();
while(i!= -1)
{
//
i = in.readLine();
}

当我需要一个 while 循环时,我遇到了类似的问题,该循环使用++ 运算符分配一些变量的组合。

这个 for 循环会被认为是更好的选择吗(它确实符合 checkstyle)

for (int i = fileInputStream.readLine(); i != -1; i = fileInputStream.readLine())
{
//
}

最佳答案

您可以将循环重写为无限循环,中间有一个break,如下所示:

while(true) {
int i = fileInputStream.readLine();
if (i == -1) break;
}

请注意 i 可以在循环内移动:它在退出循环时的唯一值是 -1,因此没有理由保留变量在循环外可见。

关于java - 带有内部赋值的 While 循环导致检查样式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20403505/

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