这听起来像是一个愚蠢的问题,因为可能没有其他方法可以做到这一点。在设计了我自己的列表之后,这种“问题”出现在多个场合。澄清一下,我在为原始变量分配新值后返回缓存变量时遇到问题。这是一个例子:
public T next() {
final Node<T> thisNode = posNode;
posNode = posNode.getNext();
return thisNode.getData();
}
这似乎不是问题,但有时在返回有效值之前必须缓存多个变量。我不太喜欢它,因为我个人认为它会降低代码的可读性,尤其是在缓存多个 变量时。
是否有另一种方法可以在保持其功能的同时编写此代码?基本上是一种在返回语句之后为变量分配新值的方法:
public T next() {
return posNode.getData();
posNode = posNode.getNext();
}
谢谢! :)
最佳答案
第二种方法是不可能的,因为代码在return
之后是不可访问的。你的第一种方法是你实现目标的最佳方法,它不是代码味道。通常它们被称为临时变量。使用它们并通过更好的命名约定更好地向代码阅读器传达信息。例如 tempPosNode
关于java - 在新变量赋值之前返回变量的优雅方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49279259/