Tag: null

Enum的枚举为NULL

我正在为Java 1.6上的大学课程开发一个LALG编译器。 所以我做了一个类类和语法类。 EnumTypes public enum EnumTypes { A(“OLA”), B(“MUNDO”), C(“HELLO”), D(“WORLD”), /** * The order below is reversed on purpose. * Revert it and will you get a NULL list of types furder. */ I(EnumGrammar.THREE), H(EnumGrammar.TWO), F(EnumGrammar.ONE), E(EnumGrammar.ZERO); private String strValue; private EnumGrammar enumGrammarValue; private EnumTypes(String strValue) { this.strValue = strValue; } private EnumTypes(EnumGrammar […]

从属性获取Null值

在动态Web应用程序中,我遇到了一些问题,所以我发布了我的代码: 这是我的控制器(servlet): String select = request.getParameter(“select”); // getting proper value String search = request.getParameter(“search”); // getting proper value request.setAttribute(“select”, select); request.setAttribute(“search”, search); System.out.println(“Select : “+select+” Search : “+search); int page = 1; int recordsPerPage = 20; if(request.getParameter(“page”) != null) page = Integer.parseInt(request.getParameter(“page”)); SearchDAO searchDAO=new SearchDAO(); List list=searchDAO.searchAllUsers((page-1)*recordsPerPage,recordsPerPage,select,search); int noOfRecords = searchDAO.getNoOfRecords(); System.out.println(“4> NoOfRecords : “+noOfRecords); […]

java.lang.Object的Eclipse外部null注释#getClass()

我正在使用Eclipse Mars中提供的外部null注释工具。 我正在尝试为java.lang.Object#getClass()添加外部注释,但似乎无法使签名正确。 我尝试了以下变化: @NonNull Class getClass() [()L1java/lang/Class;] @NonNull Class getClass() [()L1java/lang/Class;] 但是在将调用getClass()的结果传递给接受Class实例的方法时会继续收到警告,其中该参数使用@NonNull注释。 下面是重现问题的最小Eclipse Mars项目的相关文件(此示例使用上面的第一个null注释变体,但在使用第二个变体时我也得到相同的警告): 适用于Windows 64位的Eclipse Mars Release(4.5.0; 20150621-1200) Oracle JDK 1.8.0_60 SRC /酒吧/ Foo.java package bar; public class Foo { private static void printType(Class type) { System.out.println(type.getName()); } public static void main(String[] args) { Foo foo = new Foo(); printType(foo.getClass()); } } SRC […]

使用’if’语句检查后出现空指针exception

我收到一个非常烦人的错误,说我得到一个空指针exception但是有一个if语句在继续之前检查文本是否为null: public String[] getFileData() throws IOException { String file_name = “C:/Users/Liloka/Source/textfiles/Lines.txt”; try { ReadFile file = new ReadFile(file_name); aryLines = file.OpenFile(); for(int i =0; i<aryLines.length; i++) { System.out.println(aryLines[i]); } } catch(IOException e) { System.out.println(e.getMessage()); } return aryLines; } public void actionPerformed(ActionEvent evt) { if(evt.getSource() == enterBtn) { String Text = textToAdd.getText(); if(!(Text.equals(null))) { RF.addNewElement(Text); System.out.println(Text); […]

如何在纯SQL中编写一个null安全比较“”?

在Mysql中有一个比较运算符,它是一个空保险箱:。 我在创建这样的预处理语句时在我的Java程序中使用它: String routerAddress = getSomeValue(); String sql = “SELECT * FROM ROUTERS WHERE ROUTER_ADDRESS ? “; PreparedStatement stmt = connection.prepareStatement(sql); stmt.setString(1, routerAddress); 现在我想切换到H2数据库。 如何在纯SQL中编写运算符(例如使用IS NULL和IS NOT NULL)? 我想只使用stmt.setString操作一次 。 可以多次编写列名称。 相关问题是SQL中的Get null == null 。 但是这个答案要求搜索值写入2次(即我的PreparedStatement中有2个问号)!? 参考: http : //dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#operator_equal-to

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;

未记载的String.compareTo(null)NPE?

以下小测试抛出一个NPE: public class Test { public static void main(String[] args) { String a = “a”; String b = null; System.out.println(a.compareTo(b)); } } 然而, compareTo()的Javadoc没有提到参数不能为null 。 这很奇怪,因为Javadocs通常在参数不能为null时提及。 这只是文档中的一个小故障还是有一个更基本的原因/扭曲我错过了?

Java:避免在嵌套类中检查null(深度空检查)

想象一下,我有一个class级家庭。 它包含一个人员列表。 每个(类)Person包含一个(类)地址。 每个(类)地址包含一个(类)PostalCode。 任何“中间”类都可以为null。 那么,有没有一种简单的方法来获取PostalCode而无需在每一步检查null? 即,有没有办法避免以下菊花链代码? 我知道没有“原生”Java解决方案,但希望有人知道库或其他东西。 (已检查Commons&Guava并没有看到任何内容) if(family != null) { if(family.getPeople() != null) { if(family.people.get(0) != null) { if(people.get(0).getAddress() != null) { if(people.get(0).getAddress().getPostalCode() != null) { //FINALLY MADE IT TO DO SOMETHING!!! } } } } } 不,不能改变结构。 它来自我无法控制的服务。 不,我不能使用Groovy,它是方便的“猫王”操作员。 不,我宁愿不等待Java 8:D 我不敢相信我是第一个生病的人,厌倦了写这样的代码,但我找不到解决办法。 想法? 谢谢 – llappall

返回NULL的替代方法

/** * Returns the foo with the matching id in this list * * @param id the id of the foo to return * @return the foo with the matching id in this list */ public Foo getFoo(int id) { for (Foo foo : list) { if (foo.getID() == id) { return foo; } } […]

是否可以使用exception而不是详细的空检查?

我在项目中遇到了这个问题:有一系列嵌套对象,例如:类A包含一个B类的实例变量,它实际上有一个类C的实例变量,……,直到我们有一个节点Z级树。 —– —– —– —– —– | A | —> | B | —> | C | —> | D | —> … —> | Z | —– —– —– —– —– 每个类为其成员提供getter和setter。 父A实例由XML解析器创建,链中的任何对象都是null是合法的。 现在想象一下,在应用程序的某个点,我们有一个A实例的引用,只有当它包含一个Z对象时,我们必须在它上面调用一个方法。 使用定期检查,我们得到以下代码: A parentObject; if(parentObject.getB() != null && parentObject.getB().getC() != null && parentObject.getB().getC().getD() != null && parentObject.getB().getC().getD().getE() != null && … […]