`
william_ai
  • 浏览: 21345 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

a==null vs null==a

 
阅读更多
public class A{
        void a(){
                String a = null;
                if(a==null){}
        }
        void b(){
                String a = null;
                if(null==a){}
        }
}

void a();
  Code:
   Stack=1, Locals=2, Args_size=1
   0:   aconst_null
   1:   astore_1
   2:   aload_1
   3:   ifnonnull       6
   6:   return
  LineNumberTable: 
   line 3: 0
   line 4: 2
   line 5: 6

  StackMapTable: number_of_entries = 1
   frame_type = 252 /* append */
     offset_delta = 6
     locals = [ class java/lang/String ]


void b();
  Code:
   Stack=2, Locals=2, Args_size=1
   0:   aconst_null
   1:   astore_1
   2:   aconst_null
   3:   aload_1
   4:   if_acmpne       7
   7:   return
  LineNumberTable: 
   line 7: 0
   line 8: 2
   line 9: 7

  StackMapTable: number_of_entries = 1
   frame_type = 252 /* append */
     offset_delta = 7
     locals = [ class java/lang/String ]


}

今天看到一段代码,类似b方法的调用,于是就开始掉过来哪个快点。从BC上看a方法要快一点。具体的性能测试还有待验证。
分享到:
评论

相关推荐

    Java工具类

    public static boolean isNull(Object a) { String b = toString(a); return isNull(b); } public static boolean isNull(String a) { a = ("" + a).trim(); if (a == null || "".equals(a) || "null".equals...

    undefined==null引发的两者区别与联系第1/3页

    (不过要注意如果你的x==0也是合法值的话就不能使用if(x){}来做条件判断了) 为了证明这种多余,俺也特意做了以下测试: var a; alert(x) if(x==null){ alert(‘failed’) } 其中x为一个未初始化

    Java中String判断值为null或空及地址是否相等的问题

    本文主要讨论了如何正确判断Java中的String对象是否为null、空值("")以及它们的地址是否相等。在处理字符串时,了解这些概念对于避免程序出错至关重要。 首先,我们需要区分`null`和空字符串`""`。`null`表示变量...

    js判断undefined类型,undefined,null,NaN的区别

    例如,变量 a 被赋值为 null 时,typeof a 将返回 "object"。null 和 undefined 的区别在于,null 是一个有意识的赋值,而 undefined 是一个变量未被赋值或未被声明。 在比较运算中,null 和 undefined 被认为是...

    还在用if(obj!=null)做非空判断,带你快速上手Optional

    Optional 是 Java 8 中引入的新特性,旨在解决空指针异常(Null Pointer Exception,NPE)这个长期困扰开发者的问题。下面我们将对 Optional 的基本概念、使用方法、优点等进行详细的介绍。 Optional 的基本概念 ...

    prefix cannot be "null" when creating a QName

    在处理Web服务相关的Java应用程序时,可能会遇到一个名为“prefix cannot be 'null' when creating a QName”的异常。这个错误通常出现在尝试创建`QName`对象但提供的前缀为`null`的情况下。 ### 错误详情与解决...

    java.lang.IllegalArgumentException:Input == null的异常处理

    Caused by: java.lang.IllegalArgumentException: input == null! at javax.imageio.ImageIO.read(ImageIO.java:1388) at com.pleanwar.fiying.FlyingObject.loadImage(FlyingObject.java:52) at ...

    数据库NULL的用法.txt

    MySQL中如何使用NULL,把...update 表名 set a=NULL where 条件 把空字段作为查询条件的时候 select * from 表名 where a is NULL select * from 表名 where a != " NULL " select * from 表名 where a = " NULL

    JavaScript中为什么null==0为false而null大于=0为true(个人研究)

    生活中我们在不停的编写代码,写着JavaScript,很少有时间进行概念上的研究。我呢,今天闲来没啥事,研究了一下...在进行null>=0比较时,它是通过比较null到的答案,如果a=b u4e3afalse,如果a=b>0为true。所以 null

    js代码-003 面试题-a=? a==1&&a==2&&a==3 成立,==的转换规则

    继续到`a==3`,同样的情况,`a`仍然是0,因此整个表达式`a==1&&a==2&&a==3`始终为假。然而,如果我们改变`a`的初始值,如`a="123"`,那么在每个比较中,`a`都会被转换为数字123,导致整个表达式为真。 在实际编程中...

    javascript 处理null及null值示例

    代码如下: function dealNull(obj){ for(var i in... // 测试的对象 var a={}; a.aa=null; a.bb=’null’; a.c=1; a.b={}; a.b.aaa=null; a.b.bbb=’null’; a.b.c=1; a.array=[]; a.array.push({‘a’:null,’b’:’nu

    深入Java关键字null

    - 错误示例:`int a = null;` - 正确示例:`Object o = null;` 在Java中,变量使用前必须遵循一定的规则:先定义,并且初始化之后才能使用。对于基本类型变量来说,这很好理解,例如你不能定义一个`int`类型的变量`...

    nick-offerman:废墟或炽烈的火焰

    尼克·奥弗曼你知道你怎么总是有可选值, a: A | null | undefined a: A | null | undefined a: A | null | undefined ,您想用它们来制作东西,但是如果它们什么都不是,则不要。 如果它们什么都不是,那么它们就...

    oracle中的null_考试题目

    ### Oracle中的NULL知识点详解 #### 一、NULL基础概念与特性 在Oracle数据库中,`NULL`是一个特殊值,表示未知或未定义的状态。它既不是数字也不是字符,因此不能与其他任何类型的值进行比较。在SQL操作中,NULL的...

    java String 类的一些理解 关于==、equals、null

    在示例代码`a+b+c`中,如果`a`或`b`是`null`,那么`a+b`会返回`null`,接着`a+b+c`会抛出异常。为了避免这种情况,应在连接前检查每个字符串是否为`null`,或者使用`String.format`或`StringBuilder`来安全地合并...

    浅析为什么a=”abc” 不等于 a=new String(“abc”)

    a="abc" typeof a //string b=new String("abc") typeof b // object a==b //true a===b //false 但是为什么呢?看了很多书,问了好几个大神,其实自己还是稀里糊涂的。这里记录一下,备查。 在js中,区分原始资料...

    domino访问关系性数据库例子

    private static Connection conn = null; private static String aJdbcStr; private static String aUsername; private static String aPassword; private static String aDrv; public void NotesMain() { ...

    iOS-Null passed to a callee that requires a non-null argument警告

    Null passed to a callee that requires a non-null argument 此警告就是某属性说好的不能为空,你又在某地方写了XX = nil 所以冲突了 这个警告比较新,是xcode6.3开始 为了让OC也能有swift的?和!的功能,你在声明...

    广义表的反序

    其中 append(a,b) 的功能是将广义表 a 和 b 作为元素的广义表连接起来。 请根据以上定义和给定的程序框架,编写函数:GLNode * reverse( GLNode * )。 特别说明:以下的预设代码并不是一个理想的好程序,大家...

    转一个日期输入控件,支持FF

    <... <HEAD> <TITLE>日期选择器</TITLE> [removed] /** * 返回日期 * @param d the delimiter * @param p the pattern of your date * @author Xinge(修改)... var y = parseInt(a

Global site tag (gtag.js) - Google Analytics