在Java中声明布尔变量的正确方法是什么?

2024-04-20

我刚刚开始学习Java。在我关注的在线课程中,我被要求尝试以下代码:

String email1 = "[email protected] /cdn-cgi/l/email-protection";
String email2 = "[email protected] /cdn-cgi/l/email-protection";
Boolean isMatch = false;

isMatch = email1.equals (email2);

if (isMatch == true){
    System.out.println("Emails match");
}
else{
    System.out.println("Emails don't match");
}

我不明白为什么要求我声明isMatch当我在下一行比较电子邮件地址并将值分配给时为 falseisMatch.
我尝试过以下代码,它的工作原理似乎是一样的:

String email1 = "[email protected] /cdn-cgi/l/email-protection";
String email2 = "[email protected] /cdn-cgi/l/email-protection";
Boolean isMatch;

isMatch = email1.equals (email2);

if (isMatch == true){
    System.out.println("Emails match");
}
else{
    System.out.println("Emails don't match");
}

在课程上它没有解释为什么我要声明isMatch首先为假。我是否有必须声明的理由isMatch在比较电子邮件地址之前是否为 false?


不仅不需要将其声明为false首先,我会添加一些其他改进:

  • use boolean代替Boolean(也可以是null没原因)

  • 声明期间赋值:

    boolean isMatch = email1.equals(email2);
    
  • ...并使用final如果可以的话,关键字:

    final boolean isMatch = email1.equals(email2);
    

最后但并非最不重要的:

if (isMatch == true)

可以表示为:

if (isMatch)

这使得isMatch标志没那么有用,内联它可能不会损害可读性。我建议寻找一些更好的课程/教程......

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

在Java中声明布尔变量的正确方法是什么? 的相关文章

  • 如何在编写 XML 文件时忽略 DTD 验证但保留 Doctype?

    我正在开发一个系统 该系统应该能够读取任何 或至少是任何格式良好的 XML 文件 操作一些节点并将它们写回到同一个文件中 我希望我的代码尽可能通用 但我不希望 对代码中任何位置的架构 文档类型信息的硬编码引用 文档类型信息位于源文档中 我想
  • 在 Mac OS X 上的某个时刻,移动光标未显示在焦点上

    我有基于 Swing 的应用程序 每当我们在组件上移动鼠标时 它都会显示移动光标图标 并通过拖动来移动该组件 我已经为此使用了代码 mycomponent setCursor Cursor getPredefinedCursor Curso
  • 良好的客户端套接字池

    我需要管理从我的 Java 应用程序到外部服务器的长时间运行的 TCP 套接字连接 我正在寻找一个好的套接字池 这样我就可以重复使用套接字 有什么建议吗 你可以看看在上面建立一个套接字池公共池 http commons apache org
  • 为什么我们在Java中使用接口引用类型? [复制]

    这个问题在这里已经有答案了 我即将参加第一门面向对象编程课程的期末考试 但我仍然不明白多态性的概念 假设我有一个抽象类 Vehicle 该类有一个名为 Aircraft 的子类 我的问题是 这两个代码有什么不同 Aircraft Jetpl
  • 使用 Spring boot CrudRepository 过滤数据

    我有一个简单的 REST 服务 可以使用 Spring boot 访问数据CrudRepository 该存储库已经实现了分页和排序功能 如下所示 public interface FlightRepository extends Crud
  • 删除最低位

    给定一个二进制数 删除最低位的最快方法是什么 01001001010 gt 01001001000 它将在代码中用于迭代变量的位 伪代码如下 while bits 0 index getIndexOfLowestOrderBit bits
  • 将两个表视图绑定在一起,以便它们同步滚动

    我想将两个表视图绑定在一起 以便它们同步滚动 我怎么做 我无法找到如何访问表格视图的滚动条 我做了一个CSS hack来将Tableview与外部滚动条绑定 一个滚动条控制两个表格视图 我的想法的概述 创建两个表视图 制作一个垂直滚动条 在
  • 如何更改鼠标进入/鼠标退出时按钮的图标图像?

    我想更改鼠标输入和鼠标退出时按钮的图标图像 private void jButton1MouseEntered java awt event MouseEvent evt this jButton1 setBackground Color
  • 无法在 Vaadin Maven 项目上运行 mvn vaadin:compile

    当我运行命令 mvn vaadin compile 时出现此错误 INFO BUILD FAILURE INFO INFO Total time 1 039s INFO Finished at Thu Mar 20 11 35 00 CET
  • PHP 如何保持下拉列表中选定的选项在提交时保持选中状态?

    I have
  • 根据条件更改 JSlider 的最小值和最大值

    我正在 Netbeans 中创建 Swing GUI 此 GUI 的目的是打开一个 缓冲 图像 在 JLabel 中作为图标 并对其应用仿射变换 现在我正在做 4 个转换 如下所示 现在 每个变换都需要两个滑块来更改 X 和 Y 值 但旋转
  • 更新写入 java 文本文件的对象

    将 Java 对象或列表写入文本文件是可以的 但我想知道如何更新或重写以前写入的对象而不再次写入对象 例如 假设有一个 java util List 有一组对象 然后将该列表写入文本文件 然后稍后该文件将被再次读取并从列表中获取所有对象 然
  • 如何在应用程序级别管理只读数据库连接

    我们使用的是Java Spring Ibatis MySql 有没有办法利用这些技术在应用程序级别管理只读连接 我希望在只读 MySql 用户的基础上添加额外的保护层 如果 BasicDataSource 或 SqlMapClientTem
  • java:如何仅选择jtable中的一个单元格而不是整行

    在 jTable 中 我希望当用户单击单元格时 这句话会打印在屏幕上 I am cell in row X and column Y 其中 x 和 Y 是单击单元格的行和列 但我得到的是 例如 当我单击第 1 行和第 4 列中的单元格时 我
  • 使用 lambda 或 Stream API 合并流以生成交替序列

    我有一些按预期返回 Stream 的代码 但也许可以用某种类型的 lambda 或 stream 操作替换它 而不是耗尽 a 中的迭代器while loop 它只是一种交替流中元素的方法first and second当其中一个元素耗尽时停
  • JJWT依赖混乱

    我继承了一个java项目 在POM xml中有这个
  • Java HashMap 与 ArrayList 相比的内存开销

    我想知道java HashMap与ArrayList相比的内存开销是多少 Update 我想提高搜索一大包 600 万以上 相同对象的特定值的速度 因此 我正在考虑使用一个或多个HashMap来代替ArrayList 但我想知道 HashM
  • 错误:升级到 lombok 1.16.2 后包 javax.annotation 不存在

    我的 android 项目使用 lombok 1 16 0 构建得很好 但是一旦我将依赖项更改为目标 1 16 2 我在使用 lombok 注释的任何地方都会收到以下错误 Error 20 1 error package javax ann
  • 为什么浮点数有符号零?

    为什么双打有 0也 0 其背景和意义是什么 0 通常 被视为0 当一个negative浮点数非常接近零 可以考虑0 要明确的是 我指的是算术下溢 http en wikipedia org wiki Arithmetic underflow
  • 尝试从输入流检索文本时应用程序挂起

    情况 我确实查看了您的代码 正如我怀疑的那样 您的问题与您发布的代码完全无关 您的 GUI 完全忽略 Swing 线程规则 并在主 Swing 事件线程 称为Event Dispatch T螺纹或EDT 由于该线程负责所有 Swing 绘图

随机推荐

  • 如何将 CIPixellate Core Image Filter 添加到 Sprite Kit 场景?

    如何将 CIPixellate Core Image Filter 添加到 Sprite Kit 场景 我有一个 SpriteKit 场景 它是 SKScene 或其子类 我想向场景添加一个核心图像滤镜 特别是 CIPixellate 过滤
  • 对话框片段中的空指针

    我正在尝试从Class当给这个充气时Dialog Fragment但当Class有价值观 这对我来说很奇怪 也许我错过了一些东西 这是代码 对话片段 public class Dialog Fragment extends DialogFr
  • 如何使用 XPATH 找到两个 H3 之间的所有节点?

    如何使用 XPATH 找到两个 H3 之间的所有节点 在 XPath 1 0 中 实现此目的的一种方法是使用 Kayessian 方法进行节点集交集 ns1 count ns2 count ns2 上面的表达式精确选择属于节点集的节点 ns
  • Perl 相当于(Python-)列表理解

    我正在寻找用 Perl 表达这个 Python 片段的方法 data A None B yes C None key list k for k in data if data k in this case the same as filte
  • FPGA 系统中的同步与异步复位

    我刚开始使用各种不同的模块创建 FPGA 系统来驱动 I2C 总线 尽管我认为这个问题适用于任何 FPGA 系统 并且所有模块都使用同步复位 这些模块使用时钟分频器模块进行计时 该模块获取系统时钟并向系统的其余部分输出较低的频率 我遇到的问
  • 具有多对一关系的单表继承 (STI)

    我对 Doctrine 还很陌生 所以欢迎任何一般性建议 我正在努力实现以下目标 一个页面可以同时包含视频和照片 两者都是媒体并且共享属性 所以我认为单表继承是有意义的 以下是我的设置的相关部分 Page ORM Entity class
  • Java HttpsURLConnection 和 TLS 1.2

    我在一篇文章中读到HttpsURLConnection将透明地协商 SSL 连接 官方文件说 This class uses HostnameVerifier and SSLSocketFactory There are default i
  • 设置AlertBox标题栏背景颜色

    如何更改警报框标题栏的背景颜色 AlertDialog Builder alert new AlertDialog Builder getParent alert setTitle sample alert show 最简单的方法是通过创建
  • 如果从析构函数调用构造函数会发生什么?

    从 destruct 调用 construct 函数 它会产生无限循环吗 不 但这会 class Test public function construct echo Hi public function destruct new Tes
  • 不变违规:requireNativeComponent:在 UIManager 中找不到“RCTView”

    当我从开发菜单启动远程 js 调试并在 Android 模拟器中重新加载我的 React Native 应用程序时 会出现此错误 Invariant Violation requireNativeComponent RCTView was
  • IE7 与我的 jQuery 相关的问题 [点击并更改功能]

    我有以下代码片段 基本上我想做的是在第一次单击函数中循环遍历缓存的 JSON 数据并显示该 id 存在的任何值 在第二个更改函数中 每当其中一个元素更改值时 即从是到否 反之亦然 我都会捕获 这些元素都是通过我从 Web 服务接收到的 JS
  • 在 C# 中创建值列表的快速方法?

    我正在寻找一种在 C 中创建值列表的快速方法 在 Java 中 我经常使用下面的代码片段 List
  • 从控制台应用程序同步击键读取

    我想立即读取 Windows 和 Linux 下用 C 编写的控制台应用程序中的每一次击键 不幸的是 当按下 输入 返回 键时 函数 gets line 只返回一个值 我正在寻找一个在按下按键后立即返回的函数 目前我的代码看起来像这样 ch
  • 如何使用 Intel 语法内联汇编在 GCC 中设置变量?

    为什么这个代码没有设置temp到 1 我实际上该如何做到这一点 int temp asm intel syntax mov 0 eax mov eax 1 att syntax r 1 r temp eax printf d n temp
  • 对 xhtml5 感到困惑:不再有“”,现在强制使用“meta”?

    我已经是长期用户XHTML 1 0 Strict 我现在正尝试在我的新项目中切换到 XHTML5 我很困惑对于 HTML5 不再被认为是有效的http validator w3 org http validator w3 org 这是为什么
  • 我无法更新 Google App 脚本上的脚本

    我在公司使用Google App 更新脚本时经常遇到问题 当我更新我的脚本时 我在 Google 网站上的网页没有更新 而且很长一段时间 更新脚本时我必须创建一个新脚本 我可以解决这个问题吗 regards 有两种方法可以publish你的
  • 如何更轻松地在 Emacs 中的缓冲区之间切换?

    我最近开始使用 emacs 并且大部分时间我都很享受使用它 我唯一不喜欢的是在缓冲区之间切换 我经常打开一些缓冲区 并且我已经厌倦了使用C x b and C x C b 是否有任何软件包可以使缓冲区之间的切换变得更容易 我调查过emacs
  • 测试应用程序的可访问性(对讲)

    我正在使我的应用程序可访问性兼容 为此 通过在 xml 中提供 android contentDescription your string 来向可访问性框架提供正确的数据 我还看到了关于使应用程序可访问的 Android 开发人员指南 概
  • 沟通差距:用户与分析师-设计师

    通常的做法是使用案例研究 构建工作流和数据流等 但这并不一定会在用户 发起者和分析师 设计者之间创建共享词汇表 通常 其中一方都必须获得其他专业领域 内部 的术语和观点 这通常会导致误解和澄清会议 进入 RAD 技术 如进化原型 等 用户
  • 在Java中声明布尔变量的正确方法是什么?

    我刚刚开始学习Java 在我关注的在线课程中 我被要求尝试以下代码 String email1 email protected cdn cgi l email protection String email2 email protected