debugging IntelliJ中的调试信息不一致

wa7juj8i  于 2023-06-23  发布在  其他
关注(0)|答案(3)|浏览(108)

我的程序运行并给出正确答案,但我看到以下消息:

调试信息不一致。
这是我该担心的吗如果是这样,我该怎么解决呢?下面是引用的全部代码:

/**
 * Created by mona on 3/7/16.
 */
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class PascalTriangle {

    public static long biCoeff(int n, int k){
        if (n==k){
            return (long) 1;
        }
        if (n==0){
            return (long) n;
        }

        return (biCoeff(n-1, k-1)+biCoeff(n-1,k));
    }

    public static List<List<Integer>> generate(int numRows) {
        List<List<Integer>> mylist = new ArrayList<>();
        for (int i=0; i<numRows; i++){
            mylist.add(new ArrayList<Integer>());
            for (int j=0; j<=i; j++) {
                mylist.get(i).add((int) biCoeff(numRows, j));
            }

        }
        return mylist;
    }

    public static void main(String[] args){
        List<List<Integer>> l = new ArrayList<>();

        l=generate(5);

        for (List<Integer> list:l){
            System.out.print("[");
            for (Integer i: list){
                System.out.print(i + ",");
            }
            System.out.println("],");
            System.out.println();
        }

    }
}
relj7zay

relj7zay1#

我的scala项目有时也会发生同样的事情。就在几分钟前,我的项目被配置为java1.8的java13配置并运行得很好,但是我得到了调试不一致的输出。我换掉了SDK来运行实际的1.8,而不是13作为1.8运行,调试不一致的东西就消失了。
也就是说,我建议安装SDKMan,然后下载并使用特定版本的SDK。而且,您使用SDKMan下载的任何SDK都会在intellij运行配置屏幕中显示为潜在的SDK。这是个很棒的工具

bqucvtff

bqucvtff2#

在你的代码中,我没有看到问题。你使用的Java版本是什么?

idv4meu8

idv4meu83#

在单元测试期间,当我试图调试被测试的类时,就发生了这种情况。原因是我通过添加一个新的bean成员更新了测试类,但未能将其作为@Mock字段添加到测试类中。
即我添加了

private final MyBean myBean;

不得不在测试中加上:

@Mock 
private final MyBean myBean;

相关问题