Tag: nullpointerexception

如何在使用Java集合排序时处理空值

在Java中使用Collection.sort时,当其中一个内部对象为null时,我应该返回什么 例: Collections.sort(list, new Comparator() { public int compare(MyBean o1, MyBean o2) { return o2.getDate().compareTo(o1.getDate()); } }); 让我们说o2不是null而是o2.getDate()它是,所以在添加nullvalidation时我应该返回1还是-1还是0?

数组NullPointerException?

好。 我不明白为什么我的代码报告了NullPointerException,但我已经在这里试了很长时间了。 不, files不为null 。 编辑:这是我的错误,它是null(我没有看到我运行函数的顺序。 这是我的代码: public String[] files; private void updateRefs(String filepath) { try { scr++; files[scr] = filepath; //NullPointerException??? } catch ( Exception e ) { e.printStackTrace(); } }

在Java加密和解密中处理IV和salt

所以我试图解密一个方法中的消息,但它不起作用,因为我需要做cipher.init(Cipher.ENCRYPT_MODE, secret)然后我尝试将new IvParameterSpec(iv)添加到cipher.init(Cipher.DECRYPT_MODE, secret, new IvParameterSpec(iv)); 。 否则,它只返回一个NullPointerException我想知道是否可以在方法中执行此操作而不是一直写入它。 我真的不能想到一个解决方案,这就是为什么我在这里。 加密工作正常但不解密。 项目运行: JRE 7 加密代码: public static String encrypt(String str) { try { SecureRandom random = new SecureRandom(); byte[] salt = new byte[16]; random.nextBytes(salt); SecretKeyFactory factory = SecretKeyFactory.getInstance(“PBKDF2WithHmacSHA1”); KeySpec spec = new PBEKeySpec(str.toCharArray(), salt, 65536, 256); SecretKey tmp = factory.generateSecret(spec); SecretKey secret = new SecretKeySpec(tmp.getEncoded(), “AES”); […]

NullPointerException:使用GSON在JAVA中进行JSON解析

我想使用Api GSON通过java解析JSON文件以获取JSON文件的最后一个字段: descriptor.json: { “Teleservice_1” : { “Record_1” : { “method_name” : “mehdi”, “method_params”: [“param1″,2,”param3”] }, “Record_2” : { “method_name” : “mkyong”, “method_params”: [3,”param2″] }, “Record_3” : { “method_name” : “amine”, “method_params”: [3,”param1″,”param2″] } }, “Teleservice_2” : { “Record_11” : { “method_name” : “mehdi1”, “method_params”: [“param11″,22,”param33”] }, “Record_22” : { “method_name” : “mkyong1”, “method_params”: [33,”param22″] […]

NullPointerException | enum构造函数中的`this`导致NPE

public class Test { public static void main(String[] args) { Platform1 p1=Platform1.FACEBOOK; //giving NullPointerException. Platform2 p2=Platform2.FACEBOOK; //NO NPE why? } } enum Platform1{ FACEBOOK,YOUTUBE,INSTAGRAM; Platform1(){ initialize(this); }; public void initialize(Platform1 platform){ switch (platform) { //platform is not constructed yet,so getting `NPE`. //ie. we doing something like -> switch (null) causing NPE.Fine! case FACEBOOK: System.out.println(“THIS IS […]

具有自动装箱function的三元运算符中的Java NPE?

今天早上我遇到了一个非常奇怪的NPE,并将其简化为一个简单的例子。 这是JVM错误还是正确的行为? public class Test1 { class Item { Integer id = null; public Integer getId() {return id;} } public Integer f() { Item item = new Item(); // this works: //return item == null ? new Integer(1) : item.getId(); // NPE?? return item == null ? 1 : item.getId(); } public static void main(String[] […]

多个重载方法:null是否等于NullPointerException?

public class TestMain { public static void methodTest(Exception e) { System.out.println(“Exception method called”); } public static void methodTest(Object e) { System.out.println(“Object method called”); } public static void methodTest(NullPointerException e) { System.out.println(“NullPointerException method called”); } public static void main(String args[]) { methodTest(null); } } 输出:调用NullPointerException方法

AndroidStudio Calendar.get(Calendar.DAY_OF_MONTH)nullPointerexception

我的日历有问题。 这是代码: Calendar mCalendar = Calendar.getInstance(); mToday[0] = mCalendar.get(Calendar.DAY_OF_MONTH); mToday[1] = mCalendar.get(Calendar.MONTH); // zero based mToday[2] = mCalendar.get(Calendar.YEAR); 无法运行我的项目,因为AndroidStudio在Calendar.DAY_OF_MONTH , Calendar.MONTH等上显示错误…我在模拟器中运行时得到nullPointException 这就是它 必须是以下之一:java.util.Calendar.DAY_OF_MONTHjava.util.Calendar.MONTH等… 我不明白这个错误,因为Calendar.MONTH是java.util.calendar.MONTH 我有一个导入它 import java.util.Calendar; 对不起,我错过了它的初始化,但还有一个其他类,我想使用Calendar.MONTH等,如下所示: mCalendarToday = Calendar.getInstance(); … int dayOfWeek = mCalendar.get(Calendar.DAY_OF_WEEK); int firstDay = getDay(mCalendar.get(Calendar.DAY_OF_WEEK); 要么 private Calendar mCalendarToday; … private boolean isToday(int day, int month, int year) { if […]

对象数组的空指针exception

我是新手使用对象数组,但无法弄清楚我做错了什么以及为什么我一直得到一个Null指针exception。 我正在尝试创建一个剧院类,其中包含一组聚光灯对象,这些对象可以设置为打开或关闭。 但是 – 每当我调用这个数组时,我都会得到一个空指针exception。 package theatreLights; public class TheatreSpotlightApp { public static void main(String[] args) { Theatre theTheatre = new Theatre(8); System.out.println(“element 5 ” + theTheatre.arrayOfSpotlights[5].toString()); } } package theatreLights; public class Theatre { spotlight[] arrayOfSpotlights; public Theatre(int N){ arrayOfSpotlights = new spotlight[N]; for (int i = 0; i < arrayOfSpotlights.length; i++) { arrayOfSpotlights[i].turnOn(); […]

什么是NullPointerException,我该如何解决?

什么是空指针exception( java.lang.NullPointerException )以及它们的原因是什么? 可以使用哪些方法/工具来确定原因,以便停止exception导致程序过早终止?