Java中String类的isEmpty方法、null以及""的区别
来源:互联网 发布:jquery.base64.js 编辑:程序博客网 时间:2024/05/17 07:18
一直以来对String的这三个空挺晕的,刚好同事问我,我也学习下。
从别人博客上看到的是这样的:
isEmpty()
分配了内存空间,值为空,是绝对的空,是一种有值(值 = 空)
""
分配了内存空间,值为空字符串,是相对的空,是一种有值(值 = 空字串)
null
是未分配内存空间,无值,是一种无值(值不存在)
然而我还是挺晕忽 所以写了个demo验证下~
由于只会玩Android,就写了个Android的demo。效果一样啦~
打log结果为:
02-15 14:41:10.655 31875-31875/uding.testanimation E/testNull: isEmpty
02-15 14:41:10.655 31875-31875/uding.testanimation E/testNull: 引号
02-15 14:41:10.655 31875-31875/uding.testanimation E/testNull: ----------------
02-15 14:41:10.655 31875-31875/uding.testanimation E/testNull: isEmpty
02-15 14:41:10.655 31875-31875/uding.testanimation E/testNull: 引号
02-15 14:41:10.655 31875-31875/uding.testanimation E/testNull: ----------------
02-15 14:41:10.655 31875-31875/uding.testanimation E/testNull: null
再然后str就报空指针错误了~这里可以发现好像isEmpty和""的效果是一样滴啊。
又看了下isEmpty的源码:
综上所述:
null是未分配内存空间的“空”~
isEmpty和引号这两个“空”与null相对(即它们 != null),且都是已分配内存(好像差不多一个意思)
(PS:尚不清楚isEmpty和""是否有何不同之处,有知道的小伙伴希望可以评论告知,谢谢~)
从别人博客上看到的是这样的:
isEmpty()
分配了内存空间,值为空,是绝对的空,是一种有值(值 = 空)
""
分配了内存空间,值为空字符串,是相对的空,是一种有值(值 = 空字串)
null
是未分配内存空间,无值,是一种无值(值不存在)
然而我还是挺晕忽 所以写了个demo验证下~
@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); String a = new String(); String b = ""; String c = null; testString(a); testString(b); testString(c);}private void testString(String str){ if (str == null){ Log.e("testNull", "null"); } if (str.isEmpty()){ Log.e("testNull", "isEmpty"); } if (str.equals("")){ Log.e("testNull", "引号"); } Log.e("testNull", "----------------");}
由于只会玩Android,就写了个Android的demo。效果一样啦~
打log结果为:
02-15 14:41:10.655 31875-31875/uding.testanimation E/testNull: isEmpty
02-15 14:41:10.655 31875-31875/uding.testanimation E/testNull: 引号
02-15 14:41:10.655 31875-31875/uding.testanimation E/testNull: ----------------
02-15 14:41:10.655 31875-31875/uding.testanimation E/testNull: isEmpty
02-15 14:41:10.655 31875-31875/uding.testanimation E/testNull: 引号
02-15 14:41:10.655 31875-31875/uding.testanimation E/testNull: ----------------
02-15 14:41:10.655 31875-31875/uding.testanimation E/testNull: null
再然后str就报空指针错误了~这里可以发现好像isEmpty和""的效果是一样滴啊。
又看了下isEmpty的源码:
public boolean isEmpty() { return count == 0;}就是说只要String的文本数量为0就返回true,而""里面文本数量就是为0。
综上所述:
null是未分配内存空间的“空”~
isEmpty和引号这两个“空”与null相对(即它们 != null),且都是已分配内存(好像差不多一个意思)
(PS:尚不清楚isEmpty和""是否有何不同之处,有知道的小伙伴希望可以评论告知,谢谢~)
1 0
- Java中String类的isEmpty方法、null以及""的区别
- JAVA中isEmpty、null以及""的区别
- JAVA中isEmpty和null以及""的区别
- JAVA中isEmpty和null以及""的区别
- Java中isEmpty和null以及“”的区别
- JAVA中isEmpty和null以及""的区别
- JAVA中isEmpty和null以及""的区别
- JAVA中isEmpty和null以及""的区别
- JAVA中isEmpty和null以及""的区别
- JAVA中isEmpty和null以及""的区别
- JAVA中isEmpty和null以及""的区别
- JAVA中isEmpty和null以及""的区别
- java的String类中的null和isEmpty()的区别
- Java中null、isEmpty的区别?
- isEmpty(),null,“”的区别
- isEmpty,"",null的区别
- Java isEmpty,null,""之间的区别
- java null和isEmpty()和“”的区别
- Android动画框架(一)----视图动画&帧动画
- Html+Css 链接状态变换的单图片实现(精通CSS高级WEB解决方案)读书笔记
- sharedPreference存储对象-数据库存储对象;android 将map保存到sqlite数据库中,从表数据中取回map
- java基础switch
- 倒三角形
- Java中String类的isEmpty方法、null以及""的区别
- 用GUID做主键与int做主键的区别(转)
- ZooKeeper的安装
- 去除ScrollView滑动到尽头时再拖动的阴影效果
- Service绑定Activity
- Lua table用法
- android程序右上角ActionBar上显示三个点(overflow)
- 如何入门 Python 爬虫?
- Dolby Digital(Dolby Surround Digital,杜比数码环绕声)