Tag: nullpointerexception

空对象模式

似乎有越来越多的人说你永远不应该返回null,而应该总是使用Null对象模式。 我可以在使用集合/ map /数组或调用布局函数(如isAuthenticated()时看到NOP的有用性, 如下所示) 。 我没有发现任何完全令人信服的东西。 当我试着整理自己的想法时,请在这里忍受我。 我的理解是,您返回一个已被“清零”的有效对象,而不是返回一个空对象。 因此,例如,客户端将调用以获取对象: Car car = getCar(); 如果不使用NOP,则需要在调用其上的任何方法之前检查从getCar()返回的对象是否为null: if (car != null){ color = car.getColor(); doScreenStuff(color); } 使用NOP而不是getCar()返回null,它现在返回一个已被有效“清零”的Object。 所以现在我们不再需要做if (car != null)并且可以只请求颜色。 因此,我认为当我们调用颜色时,我们的“归零”对象将返回“无”。 这有什么用? 似乎向前移动并在空对象上调用方法会导致像检查null一样痛苦。 现在,当需要显示信息时,我们需要检查颜色是不是“无”,高度不是0,或者你有什么其他值。 因此,基本上,如果汽车为空,则不检查处理的开始,而是检查我们拥有的汽车对象是真车还是替代品。 IE我们不想显示一堆空对象,所以我们需要一些方法来过滤掉所有空对象。 这个过滤是一个额外的步骤,就像调用if(car!= null)一样。 唯一的区别是,通过检查null,我们可以在通过抛出exception发现car对象为空时立即停止处理,而使用NOP,我们在空对象上调用方法并继续前进,直到它到达时间为止显示对象,此时我们过滤掉空。 此外,您需要知道空对象返回的值。 IE确实getColor()返回“none”或“empty”。 显然必须有一些我忽略的东西。 提前致谢。

Java代码评估(IntelliJ IDE),在某些方面使用toString()?

在评估对象初始化时,会出现toString nullPointerException。 方法抛出’java.lang.NullPointerException’exception。 无法评估XXXX.toString() 重新创建此问题的代码示例: Car car = carUtils.objectMapper.readValue(new File(pathTo(“carProperties.json”)), Car.class); 为什么会这样? 是使用toSting()调用完成的评估?

在Java中检查空值的最佳方法是什么?

在调用对象的函数之前,我需要检查对象是否为null,以避免抛出NullPointerException 。 最好的方法是什么? 我考虑过这些方法。 哪一个是Java的最佳编程实践? // Method 1 if (foo != null) { if (foo.bar()) { etc… } } // Method 2 if (foo != null ? foo.bar() : false) { etc… } // Method 3 try { if (foo.bar()) { etc… } } catch (NullPointerException e) { } // Method 4 — Would this […]

尝试将新的Class实例添加到ArrayList时,while循环中出现NullPointerException

我越是谷歌,我就越困惑。 我从CSV中引入了一个未知长度的名称列表以及其他一些细节,然后我需要将其转换为Person对象并存储在名为people的列表中,这是类Club的实例变量,其列表为成员基本上。 这是一个非常简化的版本,我需要做更复杂的事情,我需要在循环浏览文件时为每一行创建对象,然后我需要添加到列表集合中。 当我运行我的代码时,我不断收到nullPointerException错误,我很难过如何避免它。 我猜我创建新对象时我的变量p需要在每个循环上进行更改,但我认为不可能动态更改变量吗? 无法想象我每次都可以使用有效的非null引用将对象提交到集合。 非常感谢任何帮助。 我试图在下面的代码中删除所有不必要的东西。 谢谢 //class arraylist instance variable of class “Club” private ArrayList people; //class constructor for Club public Club() {List people = new ArrayList();} public void readInClubMembers() { //some variables concerning the file input String currentLine; String name; String ageGroup; while (bufferedScanner.hasNextLine()) { //some lines bringing in the scanner […]

什么是NullPointerException?

我正在尝试在java中创建一个tic-tac-toe游戏作为大学项目。 到目前为止,我所做的只是创建了gameBoard方法的骨架代码。 我已经遇到一个错误说: java.lang.NullPointerException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at edu.rice.cs.drjava.model.compiler.JavacCompiler.runCommand(JavacCompiler.java:272) 我也不确定如何完成整个项目。 我的基本想法是使用gameBoard方法每回合打印一次。 我试图让变量变为全局变量,这样我就可以在玩家移动时改变它们。 我如何做到这一点,以及如何解决我得到的错误? 任何帮助将不胜感激,这是我目前的代码: import javax.swing.JOptionPane; public class Assignment5 { public static String top1 = ” “; public static String top2 = ” “; public static String top3 = ” “; public static String mid1 = […]

我的Android应用程序中由Theme.AppCompat引起的IllegalStateException

当我尝试启动应用程序时,我得到了一个N​​PE。 我不知道是什么原因造成的。 应用程序应在网站上显示地图。 然后,用户可以轻松地将他的位置键入edittext并将其提交到网页。 这是我的代码: package com.timbremer.iimv; import android.content.Context; import android.support.v7.app.ActionBarActivity; import android.support.v7.app.ActionBar; import android.support.v4.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.os.Build; import android.view.inputmethod.InputMethodManager; import android.webkit.CookieManager; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.Button; import android.widget.EditText; public class MainActivity extends ActionBarActivity { private WebView wv; private EditText etlocation; private Button […]

从文本文件将数据输入动态数组时出现NullPointerException

我正在建立一个投票系统,用户使用他们的学号登录并进行选择。 一旦有人投票,他们就无法再次登录。 我做了一个对象; 学生,包含学生编号的字符串和该学生编号是否已经投票的布尔值(均为私人)。 我制作了一个这种类型的动态数组,以便通过使用扫描仪读取的文本文件接受给定数量的学生。 但是,当我尝试填充对象数组中的学生编号字符串时,我得到一个NullPointerException。 Scanner IS从文本文件中读取信息,但是当我尝试将信息放入Student对象的私有字符串时,会发生错误。 当我使用一个字符串数组时,一切正常,但我没有布尔值来判断某人是否已经投票。 我对编程很陌生,不知道问题是什么。 有人可以解释一下有什么问题以及如何修复它? 读取文本文件并填充数组的方法(学生是全局声明和构造的,最初的大小为0): public static void getStudentNumbers(){ int a = 0; while(fileReader.hasNext()){ if (a >= students.length) { int newSize = 1 + students.length; Student[] newData = new Student[newSize]; System.arraycopy(students, 0, newData, 0, students.length); students = newData; } students[a].setStudentNumber(fileReader.nextLine()); //Error occurs here a++; } } 学生对象: public […]

任何人都可以帮我在第65行的线程“AWT-EventQueue-0”java.lang.NullPointerException中识别exception吗?

我一直收到运行时错误,说我在线程“AWT-EventQueue-0”中有一个exceptionjava.lang.NullPointerException它说的是[第65行],但对我来说它看起来像是一个基本的if语句。 我可以给一些背景知识。 该帧是从一系列帧中调用的,然后一旦选择了状态,就发送到包含状态AC城市的新帧。 仅当Alabama不是所选状态时,此当前帧才有效。 (我没有为其他状态创建其他帧,因此为什么它们被注释掉了)我可以把代码放到它应该调用的另一个帧上,如果有人需要它但是我认为这是很多代码要开始用。 在此先感谢大家的帮助。 import javax.swing.*; import java.awt.*; import java.awt.event.ActionListener; import java.awt.event.*; import java.io.*; import java.util.*; public class WetBulbByLocationFrameStates3 extends JFrame { public JLabel stateLabel; public JPanel statePanel = new JPanel(); public JComboBox stateBox; public String [] unitedStates = {“Alabama”, “Alaska”, “Arizona”, “Arkansas”, “California”, “Colorado”, “Connecticut”, “Delaware”, “District of Columbia”, “Florida”, “Georgia”, “Hawaii”, […]

awt eventqueue 0 nullpointerexception错误

好的我收到此错误awt eventqueue 0 nullpointerexception error 。 当我尝试删除JPanel 。 令我感到困惑的是,当我删除另一个JPanel它的工作原理非常好但是这个没有。 下面的第一个代码显示了JPanel ,当我点击JButton它不会删除JPanel 。 public class buttontime implements ActionListener { //creating actionlistener for clicking on timebutton to bring up a combobox public void actionPerformed(ActionEvent clickTime) { Price priceObject = new Price(); priceObject.getPricepanel(); remove(priceObject.getPricepanel()); priceObject.getPricepanel().revalidate(); add(timeObject.getTimePanel(), BorderLayout.EAST); timeObject.getTimePanel().revalidate(); } } //This one gives me 0 errors. public class […]

NullPointerException使用链接列表时出错

我刚刚完成了这个程序的工作,并将其编译,但在用户输入后它会中断并给我这个: 请在键盘12 4 3 2 1输入0或更多值 Exception in thread “main” java.lang.NullPointerException at Search.buildList(Search.java:41) at Search.main(Search.java:10) 这是代码: import java.io.*; import java.util.*; public class Search { public static void main(String argv[]) throws IOException { Scanner stdin = new Scanner(System.in); System.out.println(“Please input 0 or more values at keyboard”); Node head = buildList(); System.out.println(“Now printing list”); printList(head); System.out.println(“\nWhat key […]