【新手求助】关于String判断为空的问题 本帖最后由 gao54456 于 2014-12-21 12:11:39 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用“==”去比的话,比的是内存中的位置,如果两个变量指向相同的内存块就为判断为真。而isEmpty()比的是值是否相等。举个例子:Integer a = new Integer(1); Integer b = new Integer(1); a == b 为false,a.equals(b) 为真。a和b 在创建对象时指向不同内存块中的1,如果用int a = 1; int b =1创建的话,a和b对象会指向同一内存块"1",这是再用“==”去判,就为真了。平时编程应该尽量回避“==”判定。 首先,Java中的字符串的值的比较,应该使用equals方法所以:在判断为空的时候用==null和==“”是不管用的如果写成if("".equals(变量名))应该就会管用了其次,==null是在判断变量本身是否为空比如:String account = null;这样初始化完之后,if(account == null)就会返回true了最后,在Java中写==“”是比较危险的,对象的值之间进行比较一定要用equals建议看一下《Effective Java》的相关章节,里面有非常详细的解释 默默的说一声,判断加个"".equals(xxx); JAVA.SE(生成class文件不能执行) 请问怎么用java的IO把旧的.txt文件过滤后生成新的.txt 有没有办法?在1.htm把2.htm框架的同时加上个一段代码语言,替换不要的代码呢, Java中的sql问题 请问有谁做过java调用vb的动态库,有不解 java写的一个类要定时执行 關於異常的問題 各位大虾,请急救,怎样让java 程序在solaris下作为类似于windows中的服务程序来运行! jbuilder7配置 JAVA开发 String转换辉byte swing 动态创建的组件怎么改变其属性
举个例子:Integer a = new Integer(1); Integer b = new Integer(1); a == b 为false,a.equals(b) 为真。a和b 在创建对象时指向不同内存块中的1,如果用int a = 1; int b =1创建的话,a和b对象会指向同一内存块"1",这是再用“==”去判,就为真了。平时编程应该尽量回避“==”判定。
所以:在判断为空的时候用==null和==“”是不管用的
如果写成if("".equals(变量名))应该就会管用了其次,==null是在判断变量本身是否为空
比如:String account = null;这样初始化完之后,
if(account == null)就会返回true了最后,在Java中写==“”是比较危险的,对象的值之间进行比较一定要用equals
建议看一下《Effective Java》的相关章节,里面有非常详细的解释