关于map.put()方法,报java.lang.NullPointerException空指针异常

简介:

在Java编程中,时不时就会遇到java.lang.NullPointerException的异常,先来看以下代码:
[java] view plain copy
public class Test { 
private Map<String, String> map; 
public void test(){ 
map.put("1", "John"); 
map.put("2", "Lily"); 
System.out.println(map.toString()); 
}

public static void main(String[] args) {  
    Test test = new Test();  
    test.test();  
}  


上面这段代码会报异常:
Exception in thread "main" java.lang.NullPointerException
问题出在map虽然初始化了,但是成员变量默认初始化为null,并没有分配内存,此时对map进行put操作,势必会报空指针异常。
解决办法是对map进行初始化,修改为以下代码即可。
[java] view plain copy
public class Test { 
private Map<String, String> map = new HashMap<>(); //重要是要分配内存!
//private Map<String, String> map; 
public void test(){ 
map.put("1", "jichenxiao"); 
map.put("2", "fanwenxiao"); 
System.out.println(map.toString()); 
}

public static void main(String[] args) {  
    Test test = new Test();  
    test.test();  
}  

}



本文转自 神迹难觅 51CTO博客,原文链接:http://blog.51cto.com/ji123/2054573,如需转载请自行联系原作者

相关文章
|
5天前
|
安全 Java API
JAVA三种权限认证框架的搭建方法
SaToken、JustAuth和MaxKey是三个用于身份认证和权限管理的工具。SaToken是轻量级框架,简化登录、权限、OAuth2.0等认证,适合中小型项目;JustAuth是第三方授权登录库,支持多种社交平台,易于集成;MaxKey是企业级IAM产品,提供复杂的权限管理和统一认证,支持多种标准协议及社交账号集成。
|
1天前
|
Java 程序员 数据库连接
|
1天前
|
存储 Java 编译器
一看就会的Java方法
一看就会的Java方法
|
1天前
|
Java
<Java>逻辑控制,方法详解,重载,牛客习题,IDEA调试方法...
<Java>逻辑控制,方法详解,重载,牛客习题,IDEA调试方法
7 0
|
1天前
|
Java 编译器
Java初识泛型 | 如何通过泛型类/泛型方法实现求数组元素最大值?
这是一个关于如何使用泛型在Java中找到数组中最大值的问题。
16 3
|
1天前
|
Java
Java初识泛型 | 如何通过泛型类/泛型方法获取任意类型的三个数的最大值?
本文介绍了如何使用Java中的泛型来实现一个可以比较任意数值类型最大值的功能。。
13 2
|
2天前
|
存储 Java
滚雪球学Java(41):Lambda表达式和方法引用:提高代码可读性和简洁性的神器
【5月更文挑战第16天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
16 2
滚雪球学Java(41):Lambda表达式和方法引用:提高代码可读性和简洁性的神器
|
3天前
|
Java 编译器 数据库
滚雪球学Java(40):解读Java面向对象编程中的方法和继承,打造可维护的代码库
【5月更文挑战第15天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
18 4
滚雪球学Java(40):解读Java面向对象编程中的方法和继承,打造可维护的代码库
|
4天前
|
Java 数据安全/隐私保护
Java中的异常
Java中的异常
8 3
|
4天前
|
安全 Java 开发者
Java多线程同步方法
【5月更文挑战第24天】在 Java 中,多线程同步是保证多个线程安全访问共享资源的关键。Java 提供了几种机制来实现线程间的同步,保证了操作的原子性以及内存的可见性。
14 3

热门文章

最新文章