java 字符串初始化=“”和=null的区别
1个回答
展开全部
两者是有区别的:
- 堆栈中:假设声明String s1 = null;String s2 = “”;其实上栈中会有存放s1,但是堆中没有产生数据;但是对于第二条语句,不仅栈中有s2,堆中也会有“”(空字符串,假如以前存在的话,s2会直接指向,假如没有,就会新建一个);
- 方法引用:s1为null,不能调用String的任何方法,否则会报NullPointerException异常;而“”则可以调用String的任何方法,如字符串的拼接或者是求长度等。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询