哪个性能更好: test != null 或 null != test [重复]

2023-11-22

考虑以下两行代码

if (test ! = null)

and

if (null != test)

从性能角度来看,上述两种说法有什么区别吗?我见过很多人使用后者,当被问及时,他们说这是最佳实践,但没有充分的理由。


没有不同。

第二个原因仅仅是因为 C/C++ 程序员总是进行赋值而不是比较。

E.g.

// no compiler complaint at all for C/C++
// while in Java, this is illegal.
if(a = 2) {
}
// this is illegal in C/C++
// and thus become best practice, from C/C++ which is not applicable to Java at all.
if(2 = a) {
}

而java编译器会产生编译错误。

所以我个人更喜欢第一个,因为可读性,人们倾向于从左到右阅读,读作if test is not equal to null代替null is not equal to test.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

哪个性能更好: test != null 或 null != test [重复] 的相关文章

  • 给定两个 SSH2 密钥,我如何检查它们是否属于 Java 中的同一密钥对?

    我正在尝试找到一种方法来验证两个 SSH2 密钥 一个私有密钥和一个公共密钥 是否属于同一密钥对 我用过JSch http www jcraft com jsch 用于加载和解析私钥 更新 可以显示如何从私钥 SSH2 RSA 重新生成公钥
  • 制作一个交互式Windows服务

    我希望我的 Java 应用程序成为交互式 Windows 服务 用户登录时具有 GUI 的 Windows 服务 我搜索了这个 我发现这样做的方法是有两个程序 第一个是服务 第二个是 GUI 程序并使它们进行通信 服务将从 GUI 程序获取
  • JAXb、Hibernate 和 beans

    目前我正在开发一个使用 Spring Web 服务 hibernate 和 JAXb 的项目 1 我已经使用IDE hibernate代码生成 生成了hibernate bean 2 另外 我已经使用maven编译器生成了jaxb bean
  • 无法展开 RemoteViews - 错误通知

    最近 我收到越来越多的用户收到 RemoteServiceException 错误的报告 我每次给出的堆栈跟踪如下 android app RemoteServiceException Bad notification posted fro
  • 控制Android的前置LED灯

    我试图在用户按下某个按钮时在前面的 LED 上实现 1 秒红色闪烁 但我很难找到有关如何访问和使用前置 LED 的文档 教程甚至代码示例 我的意思是位于 自拍 相机和触摸屏附近的 LED 我已经看到了使用手电筒和相机类 已弃用 的示例 但我
  • 我可以使用 HSQLDB 进行 junit 测试克隆 mySQL 数据库吗

    我正在开发一个 spring webflow 项目 我想我可以使用 HSQLDB 而不是 mysql 进行 junit 测试吗 如何将我的 mysql 数据库克隆到 HSQLDB 如果您使用 spring 3 1 或更高版本 您可以使用 s
  • 如何在 NHibernate 命名查询参数上设置 C# 可为空值类型值?

    我正在使用 NHibernate 并通过命名查询调用存储过程
  • 如何为俚语和表情符号构建正则表达式 (regex)

    我需要构建一个正则表达式来匹配俚语 即 lol lmao imo 等 和表情符号 即 P 等 我按照以下示例进行操作http www coderanch com t 497238 java java Regular Expression D
  • 在两个活动之间传输数据[重复]

    这个问题在这里已经有答案了 我正在尝试在两个不同的活动之间发送和接收数据 我在这个网站上看到了一些其他问题 但没有任何问题涉及保留头等舱的状态 例如 如果我想从 A 类发送一个整数 X 到 B 类 然后对整数 X 进行一些操作 然后将其发送
  • 使用Caliper时如何指定命令行?

    我发现 Google 的微型基准测试项目 Caliper 非常有趣 但文档仍然 除了一些示例 完全不存在 我有两种不同的情况 需要影响 JVM Caliper 启动的命令行 我需要设置一些固定 最好在几个固定值之间交替 D 参数 我需要指定
  • 总是使用 Final?

    我读过 将某些东西做成最终的 然后在循环中使用它会带来更好的性能 但这对一切都有好处吗 我有很多地方没有循环 但我将 Final 添加到局部变量中 它会使速度变慢还是仍然很好 还有一些地方我有一个全局变量final 例如android Pa
  • 仅将 char[] 的一部分复制到 String 中

    我有一个数组 char ch 我的问题如下 如何将 ch 2 到 ch 7 的值合并到字符串中 我想在不循环 char 数组的情况下实现这一点 有什么建议么 感谢您花时间回答我的问题 Use new String value offset
  • Google App Engine 如何预编译 Java?

    App Engine 对应用程序的 Java 字节码使用 预编译 过程 以增强应用程序在 Java 运行时环境中的性能 预编译代码的功能与原始字节码相同 有没有详细的信息这是做什么的 我在一个中找到了这个谷歌群组消息 http groups
  • 如何从终端运行处理应用程序

    我目前正在使用加工 http processing org对于一个小项目 但是我不喜欢它附带的文本编辑器 我使用 vim 编写所有代码 我找到了 pde 文件的位置 并且我一直在从 vim 中编辑它们 然后重新打开它们并运行它们 重新加载脚
  • 声明的包“”与预期的包不匹配

    我可以编译并运行我的代码 但 VSCode 中始终显示错误 早些时候有一个弹出窗口 我不记得是什么了 我点击了 全局应用 从那以后一直是这样 Output is there but so is the error The declared
  • 获取 JVM 上所有引导类的列表?

    有一种方法叫做findBootstrapClass对于一个类加载器 如果它是引导的 则返回一个类 有没有办法找到类已经加载了 您可以尝试首先通过例如获取引导类加载器呼叫 ClassLoader bootstrapLoader ClassLo
  • 静态变量的线程安全

    class ABC implements Runnable private static int a private static int b public void run 我有一个如上所述的 Java 类 我有这个类的多个线程 在里面r
  • 有没有办法为Java的字符集名称添加别名

    我收到一个异常 埋藏在第 3 方库中 消息如下 java io UnsupportedEncodingException BIG 5 我认为发生这种情况是因为 Java 没有定义这个名称java nio charset Charset Ch
  • 按日期对 RecyclerView 进行排序

    我正在尝试按日期对 RecyclerView 进行排序 但我尝试了太多的事情 我不知道现在该尝试什么 问题就出在这条线上适配器 notifyDataSetChanged 因为如果我不放 不会显示错误 但也不会更新 recyclerview
  • 使用 xpath 和 vtd-xml 以字符串形式获取元素的子节点和文本

    这是我的 XML 的一部分

随机推荐

  • “git add”和“git update-index”有什么区别

    git add 和 git update index 有什么区别 在什么情况下我会使用这些命令之一或另一个 基本上 update index is a plumbing命令 这意味着 低级 git add内部使用update index 我
  • size_t 的值无效

    人们用什么来表示 size t 无效 1 不起作用 0 可以是有效大小 Perhaps size t 1 严格来说 它is有效的尺寸 但一旦有了这个 您就不太可能需要任何其他的
  • Java 中带有属性的枚举

    每种颜色都有自己的静态属性 数字 我希望能够用一种方法来改变这个值 我可以使用枚举来做到这一点吗 像这样或者也许不同 public enum Color RED ORANGE YELLOW Color RED setValue x Colo
  • 删除 Excel 单元格中的换行符、回车符和所有前导空格

    我不知道发生了什么 但我的单元格中包含似乎是回车的东西 我努力了TRIM CLEAN SUBSTITUTE A1 CHAR 10 以及一些用于删除这些字符的宏 删除这些字符的唯一方法是使单元格处于活动状态 单击最后一个字符附近的删除 然后单
  • React Native + Redux Form - 使用键盘下一个按钮转到下一个 TextInput 字段

    我在用着回归形式 RF 在 React Native 应用程序中 一切正常 但我不知道如何获得refs来自Field输入以使用 Redux Form 转到下一个输入字段 不带射频this解决方案会很好地工作 这是我的代码 class Ren
  • 无法通过套接字“/var/mysql/mysql.sock”连接到本地 MySQL 服务器 (38)

    我在尝试连接 mysql 时遇到了一个大问题 当我跑步时 usr local mysql bin mysql start 我有以下错误 Can t connect to local MySQL server through socket v
  • 如何获取频率然后将其作为变量添加到数组中?

    假设我有一个这种格式的数组 X Y Z A 1 0 A 2 1 B 1 1 B 2 1 B 1 0 我想找到给定X的X的频率和Y的频率 然后将它们添加到数组中 X Y Z F x F Y X A 1 0 2 1 A 2 1 2 1 B 1
  • 包含 Visual Studio 测试运行程序集的目录无效

    我们已将 TFS 安装从 2012 年升级到 2013 年 运行我们的构建时 如果启用单元测试 它们将失败并出现以下错误 TF900547 The directory containing the assemblies for the Vi
  • “ref”使用的实用示例[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我正在努力如何在实际应用程序中使用 ref 通过引用传递参数 我想要一个简单且主要有意义的例子 到目前为止 我发现的所有内容都可以通过向方法添加返回类型来轻松重做 有人知道吗 谢
  • Ruby Gemspec 中的条件依赖

    我正在构建一个 gem 需要安装 json gem 才能正常工作 哪种 json gem 并不重要 json pure json jruby 或基于 C 的 json 有没有在 gemspec 中定义这个的好方法 这个回应建议为每个版本维护
  • PhantomJS - 上传文件而不提交表单

    是否可以使用 PhantomJS 将文件上传到某个页面而无需手动提交表单 我认为使用内容类型 multipart form data 是可能的 上的例子https github com ariya phantomjs blob master
  • 访问 dplyr 中的分组数据

    从 dplyr 应用 group by 函数并使用 运算符后 如何访问分组数据 例如 如果我想要每个分组数据的第一行 那么我可以使用 plyr 包来执行此操作 ddply iris Species function df df 1 outp
  • Flask 会话如何工作?

    我很好奇 Flask 会话是如何工作的 特别是它如何在服务器重新启动之间存储信息 如果我错了 请引用我的话 我知道你必须设置一个独特的app secret key因此人们无法以任何方式解密会话并修改 cookie 因为会话的 cookie
  • 将数组中的空值替换为零值

    我有一个数组 我需要删除空值并将其替换为零 我已经取得了这么多成就 当我检查数组长度为 8 但它只显示 2 个元素时 用零替换它的最佳方法是什么 var a a 3 5 a 5 15 console log a length 6 conso
  • 获取相关实体 ASP.NET WebApi OData v4 导致“未找到与请求 URI 匹配的 HTTP 资源”

    我跟着Mike Wasson 的这个 ASP NET 教程 并设法很好地设置了相关实体 但是当我将此逻辑应用于我的项目时 更复杂的实体关系 因为实体关系更多 这是唯一的区别 在 OData 调用中不会成功 我收到带有此有效负载的 404 e
  • 找不到模块 FBSDKCoreKit Cocoapods

    我正在尝试使用 CocoaPods 使用 use frameworks 将 facebook 集成到我的应用程序中 标签 并根据 Facebook 的此处说明 还包括吊舱螺栓 当我尝试使用时import FBSDKCoreKit在我的 ap
  • 代理与自然/业务密钥[关闭]

    Closed 这个问题是基于意见的 目前不接受答案 又来了 老争论依然出现 我们是否最好将业务键作为主键 或者我们宁愿使用对业务键字段具有唯一约束的代理 ID 即 SQL Server 标识 请提供例子或证据来支持你的理论 使用代理键的几个
  • 按连接值对 R 数据帧进行分组

    我没有找到 R 中这个常见分组问题的解决方案 这是我的原始数据集 ID State 1 A 2 A 3 B 4 B 5 B 6 A 7 A 8 A 9 C 10 C 这应该是我分组的结果数据集 State min ID max ID A 1
  • SVN 术语 - 签出、工作副本、属性、存储库

    当我尝试学习如何使用时svn externals 我很难理解这些术语的差异 它们有何不同 工作副本 and checkout 有时构建是有用的工作副本这是由许多不同的结账 source property 在 Subversion 中 您可以
  • 哪个性能更好: test != null 或 null != test [重复]

    这个问题在这里已经有答案了 考虑以下两行代码 if test null and if null test 从性能角度来看 上述两种说法有什么区别吗 我见过很多人使用后者 当被问及时 他们说这是最佳实践 但没有充分的理由 没有不同 第二个原因