Int不能被解除引用。我该如何解决?

时间:2015-04-14 10:34:00

标签: java

我是编程的初学者。我知道为什么我在int result merge(list1)中得到此错误...,但我不知道如何修复此错误。我确实在这里查看了一些与此错误相关的问题,但我仍感到困惑。我不希望任何人为我编写代码,但我会很感激一些解释。谢谢。

public int merge(int list1){
   try{
  int count = 0;
  for(int i= 0; i < 2; i++){
    count++;
    Scanner keyboard = new Scanner(System.in);
    System.out.println("Please input the name of the file to be opened for " + count + " list: ");
    String filename = keyboard.nextLine();

    File file = new File(filename);
    Scanner inputFile = new Scanner(file);
    System.out.print("The list " + count + " is: " );

    while(inputFile.hasNext()){
      if(!inputFile.hasNextInt()){
        String ss = inputFile.next();
      }else{
        int length = 1;
        list1 = inputFile.nextInt();
        System.out.print(list1 + " ");

        } 

      } 

     System.out.println();  
  }

  int result = merge(list1).insertEnd(list1);


} catch (Exception e) {
  System.out.println("could not find the file");
}
  return result;  
}

1 个答案:

答案 0 :(得分:2)

在表达式merge(list1).insertEnd(list1);中,merge(list1)的类型为int,因为这是merge方法的返回类型。

int类型的此表达式上,您尝试调用insertEnd方法,该方法无效,因为int是基本类型且没有此类方法。

您的错误消息“无法解除引用”说明int不是引用类型(它是一个int,它是原始类型),所以它不能被“取消引用”(意思是,你不能按照它的指针在内存中找到你可以调用insertEnd方法的实例)