Java 引用函数中传递的值

Java 引用函数中传递的值,java,function,syntax,Java,Function,Syntax,我正在处理递归问题,我想知道是否有任何方法可以在另一个函数中引用变量(即函数的结果)。下面是有问题的代码部分 # functional way ListNode x = maxNode(list.next); if(list.info.compareTo(x.info) < 0) { return x; } # ideal way if(list.info.compareTo(ListNode y = maxNode(list.next)) < 0) { retur

我正在处理递归问题,我想知道是否有任何方法可以在另一个函数中引用变量(即函数的结果)。下面是有问题的代码部分

# functional way
ListNode x = maxNode(list.next);
if(list.info.compareTo(x.info) < 0) {
    return x;
}

# ideal way
if(list.info.compareTo(ListNode y = maxNode(list.next)) < 0) {
    return y;
}
#功能方式
ListNode x=maxNode(list.next);
如果(列表信息与(x.info)<0){
返回x;
}
#理想方式
if(list.info.compareTo(ListNode y=maxNode(list.next))<0{
返回y;
}

可以先定义变量,然后在if语句中进行设置

ListNode y;
if(list.info.compareTo((y = maxNode(list.next)).info) < 0)
    return y;
我只建议在循环的checking语句中进行设置,因为在这种情况下它有助于提高可读性

ListNode y = list;
while((y = y.next) != null)
    //dostuff
这种形式的while循环也可以更容易地表示为for循环

for(ListNode y = list; y != null; y = y.next)
    //dostuff
看看:
for(ListNode y = list; y != null; y = y.next)
    //dostuff