Tag: nullpointerexception

JPA OneToMany – Collection为null

我正在尝试使用JPA建立双向关系。 我知道应用程序的责任是维护关系的双方。 例如,图书馆有多本图书。 在图书馆实体我有: @Entity public class Library { .. @OneToMany(mappedBy = “library”, cascade = CascadeType.ALL) private Collection books; public void addBook(Book b) { this.books.add(b); if(b.getLibrary() != this) b.setLibrary(this); } .. } 图书实体是: @Entity public class Book { .. @ManyToOne @JoinColumn(name = “LibraryId”) private Library library; public void setLibrary(Library l) { this.library = l; if(!this.library.getBooks().contains(this)) […]

findViewById()可能会产生NullPointerException

我有很多这样的电话: (ListView) getView().findViewById(R.id.main_list_view); (TextView) getView().findViewById(R.id.items_no); …. 和AndroidStudio告诉我他们可能会产生一个NullPointerException : 方法调用getView().findViewById(R.id.main_list_view)可能会产生java.lang.NullPointerException less …(Ctrl + F1) 此检查分析方法控制和数据流,以报告始终为真或假的可能条件,静态certificate其值为常量的表达式,以及可能导致违约性合同违规的情况。 标记为@Nullable或@NotNull变量,方法参数和返回值被视为可空(或分别为非空),并在分析期间用于检查可空性合同,例如报告可能的NullPointerException错误。 可以使用@Contract注释定义更复杂的合同,例如: @Contract(“_, null -> null”) – 如果第二个参数为null,则方法返回null @Contract(“_, null -> null; _, !null -> !null”) – 如果第二个参数为第二个,则返回null参数为null,否则为null @Contract(“true -> fail”) – 一个典型的assertFalse方法,如果将true传递给它,则抛出exception 可以将检查配置为使用自定义@Nullable @NotNull注释(默认情况下将使用annotations.jar中的注释) 幸运的是,有作品,但是我可以对这段代码进行改进吗?

用作锁的瞬态最终字段为空

以下代码抛出NullPointerException 。 import java.io.*; public class NullFinalTest { public static void main(String[] args) throws IOException, ClassNotFoundException { Foo foo = new Foo(); foo.useLock(); ByteArrayOutputStream buffer = new ByteArrayOutputStream(); new ObjectOutputStream(buffer).writeObject(foo); foo = (Foo) new ObjectInputStream(new ByteArrayInputStream(buffer.toByteArray())).readObject(); foo.useLock(); } public static class Foo implements Serializable { private final String lockUsed = “lock used”; private transient final […]

带有null Long的三元表达式中的NullPointerException

为什么以下代码行会产生NullPointerException ? Long v = 1 == 2 ? Long.MAX_VALUE : (Long) null; 我知道取消装箱正在执行null ,但为什么呢? 注意 Long v = (Long) null; 不会产生exception。

SXSSFWorkbook上的AutosizeColumns

是否可以在流式SXSSFWorkbook上使用autoSizeColumns? 我实现了导出function,以将对象列表导出为ex​​cel。 起初我使用了XSSFWorkbook(不是流式传输),在创建了所有单元格后,我自动化了所有列,产生了一个很好的excel文件。 对于性能问题,我们希望将工作簿更改为流式版本,但这会在org.apache.poi.ss.util.SheetUtil.getCellWidth中生成NullPointer。 是否可以为SXSSFWorkbook调用autoSizeColumns? 我使用的是poi-ooxml 3.9,但我在3.8中遇到了同样的问题。

布尔值的NullPointerException

这是我认为的java纯粹主义者之一。 我最近遇到了一个问题,即一个方法来执行String值的自定义解析。 一个简单的任务,但由于某种原因,下面的方法是在null情况下抛出NullPointerException … static Boolean parseBoolean(String s) { return (“1”.equals(s) ? true : (“0”.equals(s) ? false : null)); } 该方法的返回类型是布尔值,那么为什么或如何抛出NullPointerException? 从调试开始,似乎exception是在嵌套的内联条件语句求值为null并将null返回到外部内联条件的点处抛出,但我再也无法解释原因。 最终我放弃并重写了如下方法,它按预期工作: static Boolean parseBoolean(String s) { if (“1”.equals(s)) return true; if (“0”.equals(s)) return false; return null; } 以下代码介于两者之间,也可按预期工作: static Boolean parseBoolean(String s) { if (“1”.equals(s)) return true; return “0”.equals(s) ? false : null; […]

如何比较java中字符串数组中的元素?

我试图在字符串数组中找到重复的单词。 这是我的比较代码: for ( int j = 0 ; j j ; i–) { if (stringArray[i].compareTo(stringArray[j]) == 0 && i!=j) { //duplicate duplicates++; } } } wordCount -= duplicates; System.out.print(“\nNumber of words, not including duplicates: ” + wordCount); 在if语句中,它表示NullPointerException 。 这是什么意思? 有一个更好的方法吗? 我试着干脆做 if (stringArray[i] == stringArray[j] && i!=j) 但这一直给我错误的答案。

我怎么知道Null指针exception的起源?

我在制作Blackberry应用程序时遇到了问题。 我找到了一个人,他做了一个教程,做了我尝试过的事情。 我复制了教程应用程序的代码,尝试重新创建它,只是为了看它的实际效果。 结果:空指针exception。 我想知道是什么触发了这一点。 我怎么能够?

当我尝试在驱动器中搜索时,程序抛出NullPointerException?

我写了一个程序来查找文件或目录。 当我尝试在目录中搜索文件时,它正常工作 例 java FileSearch abc.txt f:\xyz 但是当我尝试从本地驱动器搜索文件而不是程序抛出exception时 java FileSearch abc.txt f:\ 显示所有搜索结果后抛出NullPointerException。 代码是: import java.io.*; class FileSearch{ static String fd; static boolean flg=true; public static void main(String arr[]){ fd=arr[0]; String path=arr[1]; String dir[]=new File(path).list(); new FileSearch().finder(dir,path); if(flg){System.out.print(“File not found.”);} } public void finder(String[] dir,String path){ for(int i=0;i<dir.length;i++){ if(dir[i].equals(fd)){ System.out.println(path+"\\"+fd); flg=false; } if(new File(path,dir[i]).isDirectory()) finder(new […]

Java的简写forms如果返回的对象之一为null,则返回NullPointerException

为什么此代码返回错误:java.lang.NullPointerException Object obj = null; Long lNull = null; Long res = obj == null ? lNull : 10L; 但是以下方式可以正常运行: Object obj = null; Long res = obj == null ? null : 10L;