在Java中使用“instanceof”[重复]

2024-01-24

“instanceof”运算符的用途是什么? https://stackoverflow.com/questions/7313559/what-is-the-instanceof-operator-used-for

我了解到 Java 有instanceof操作员。您能否详细说明一下它的用途以及它的优点是什么?


基本上,您检查一个对象是否是特定类的实例。 当您拥有对超类或接口类型的对象的引用或参数并且需要知道实际对象是否具有其他类型(通常更具体)时,通常会使用它。

Example:

public void doSomething(Number param) {
  if( param instanceof Double) {
    System.out.println("param is a Double");
  }
  else if( param instanceof Integer) {
    System.out.println("param is an Integer");
  }

  if( param instanceof Comparable) {
    //subclasses of Number like Double etc. implement Comparable
    //other subclasses might not -> you could pass Number instances that don't implement that interface
    System.out.println("param is comparable"); 
  }
}

请注意,如果您必须经常使用该运算符,通常表明您的设计存在一些缺陷。因此,在设计良好的应用程序中,您应该尽可能少地使用该运算符(当然,该一般规则也有例外)。

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

在Java中使用“instanceof”[重复] 的相关文章

  • 在java中轮询Http服务器(重复发送http get请求)

    当对其进行 REST 调用时 我的 Web 服务器会发送一些信息 我想不断轮询该服务器 间隔5秒后重复发送HTTP GET请求 以检查返回的信息是否有任何变化 做到这一点最有效的方法是什么 您能提供一些代码示例吗 请注意 我只想开发客户端代
  • 按下按钮并在java中的新窗口中打开文件

    我创建了一个 JFrame 并放置了一个文本字段和按钮 在文本字段中我放置了从文本文件读取的名称 我知道我想单击按钮并打开一个已知窗口 我想在其中放置名称 其他信息来自同一个文件 这是我的代码 这是我的主框架 package Fronten
  • 我是否需要安装 SQLite 才能使 SQLiteJDBC 正常工作?

    我想我只是没有 明白 如果我的计算机上尚未安装 SQLite 并且我想编写一个使用嵌入式数据库的 Java 应用程序 并且我将 SQLiteJDBC JAR 下载 导入到我的项目中 那么这就是我所需要的吗 或者 我是否需要先安装 SQLit
  • TreeMap 删除所有大于某个键的键

    在项目中 我需要删除键值大于某个键的所有对象 键类型为Date 如果重要的话 据我所知TreeMapJava中实现的是红黑树 它是一种二叉搜索树 所以我应该得到O n 删除子树时 但除了制作尾部视图并一一删除之外 我找不到任何方法可以做到这
  • 如何在java中将数组值排序为循环格式?

    我的数组值如下 String value 1 2 3 4 5 6 7 8 9 10 假设如果我将值 5 传递给 tat 数组 它应该按如下顺序排序 5 6 7 8 9 10 1 2 3 4 怎么办 有人帮忙吗 感谢你 你需要的就是所谓的轮换
  • Android:文本淡入和淡出

    我已阅读此 stackoverflow 问题和答案 并尝试实现文本淡入和淡出 Android中如何让文字淡入淡出 https stackoverflow com questions 8627211 how to make text fade
  • 什么是抽象类? [复制]

    这个问题在这里已经有答案了 当我了解抽象类时 我说 WT H 问题 创建一个无法实例化的类有什么意义呢 为什么有人想要这样的课程 什么情况下需要抽象类 如果你明白我的意思 最常见的是用作基类或接口 某些语言有单独的interface构建 有
  • 如何调试“com.android.okhttp”

    在android kitkat中 URLConnection的实现已经被OkHttp取代 如何调试呢 OkHttp 位于此目录中 external okhttp android main java com squareup okhttp 当
  • 如何在 Java 中向时间戳添加/减去时区偏移量?

    我正在使用 JDK 8 并且玩过ZonedDateTime and Timestamp很多 但我仍然无法解决我面临的问题 假设我得到了格式化的Timestamp在格林威治标准时间 UTC 我的服务器位于某处 假设它设置为Asia Calcu
  • Android studio - 如何保存先前活动中选择的数据

    这是我的代码片段 这Textview充当按钮并具有Onclicklistner在他们 当cpu1000时Textview单击它会导致cpu g1000其代码如下所示的类 public class Game 1000 extends AppC
  • Android 无法解析日期异常

    当尝试解析发送到我的 Android 客户端的日期字符串时 我得到一个无法解析的日期 这是例外 java text ParseException 无法解析的日期 2018 09 18T00 00 00Z 位于 偏移量 19 在 java t
  • 如何在字段值无效的情况下更改 Struts2 验证错误消息?

    我在 Web 表单上使用 Struts2 验证 如果字段假设为整数或日期 则
  • 如何仅从 Firestore 获取最新更新的数据?

    在 Firestore 上发现任何更改时始终获取整个文档 如何只获取最近更新的数据 这是我的数据 我需要在第一次加载时在聊天中按对象顺序 例如 2018 09 17 30 40 msg和sendby 并且如果数据更新则仅获取新的msg和se
  • Java Applet 中的 Apache FOP - 未找到数据的 ImagePreloader

    我正在研究成熟商业产品中的一个问题 简而言之 我们使用 Apache POI 库的一部分来读取 Word DOC 或 DOCX 文件 并将其转换为 XSL FO 以便我们可以进行标记替换 然后 我们使用嵌入到 Java 程序中的 FOP 将
  • 在Java中运行bat文件并等待

    您可能会认为从 Java 启动 bat 文件是一项简单的任务 但事实并非如此 我有一个 bat 文件 它对从文本文件读取的值循环执行一些 sql 命令 它或多或少是这样的 FOR F x in CD listOfThings txt do
  • 轻松的反应

    我有一个与这里描述的类似的案例 动态更改RESTEasy服务返回类型 https stackoverflow com questions 3786781 dynamically change resteasy service return
  • 将 JavaFX FXML 对象分组在一起

    非常具有描述性和信息性的答案将从我这里获得价值 50 声望的赏金 我正在 JavaFX 中开发一个应用程序 对于视图 我使用 FXML
  • Hibernate 本机查询 - char(3) 列

    我在 Oracle 中有一个表 其中列 SC CUR CODE 是 CHAR 3 当我做 Query q2 em createNativeQuery select sc cur code sc amount from sector cost
  • Java RMI - 客户端超时

    我正在使用 Java RMI 构建分布式系统 它必须支持服务器丢失 如果我的客户端使用 RMI 连接到服务器 如果该服务器出现故障 例如电缆问题 我的客户端应该会收到异常 以便它可以连接到其他服务器 但是当服务器出现故障时 我的客户端什么也
  • MiniDFSCluster UnsatisfiedLinkError org.apache.hadoop.io.nativeio.NativeIO$Windows.access0

    做时 new MiniDFSCluster Builder config build 我得到这个异常 java lang UnsatisfiedLinkError org apache hadoop io nativeio NativeIO

随机推荐

  • 如果局部(但未使用)变量是对对象的唯一强引用,那么符合标准的 C# 编译器是否可以优化它?

    另请参阅这些相关资源 NET 垃圾收集器是否执行代码预测分析 https stackoverflow com questions 3161119 does the net garbage collector perform predicti
  • 使用 prisma 和 postgres 的行级安全性

    我正在使用带有 postgres 数据库的 prisma 和 Yoga graphql 服务器 我想为我的 graphql 查询实现授权 我看到了类似的解决方案graphql 屏蔽 https github com maticzav gra
  • Jenkins 使用 github 返回状态代码 128

    使用 GitHub 命令我有 ssh T email protected cdn cgi l email protection Hi MyName You ve successfully authenticated but GitHub d
  • Grails 集成测试和事务

    我不明白为什么这个集成测试失败 我可以通过删除 Transactional propagation Propagation REQUIRES NEW 服务方法上方的注释 或者通过设置transactional false在集成测试中 我意识
  • 过程或函数需要未提供的参数 '

    你好朋友 我面临一个将数据加载到网格视图的问题 页面加载事件调用像 loaddata 这样的一个方法 我编写了这样的代码 using SqlConnection Sqlcon new SqlConnection strCon using S
  • 如何配置 ACTION_IMAGE_CAPTURE 将照片存储在公共外部存储中?

    The 拍照简单记录 https developer android com training camera photobasics html建议将使用设备相机拍摄的图像存储为 应保存在设备上的公共外部存储中 但如何做到这一点呢 提供的示例
  • 麦克风实时音频播放。 C#

    我希望创建一个应用程序 允许我从麦克风录音并通过其他电脑播放录音 然而 此时我只想让它在我自己的计算机上播放 这样我就可以让它工作了 过去几个小时我一直在关注 NAudio 它似乎可以帮助我实现这个目标 我只是想知道其他人是否有这方面的经验
  • 如何设置 joingrid 中每个 kdeplot 的线条样式

    我正在使用seaborn创建一个具有边际分布的kdeplot 如中所述这个答案 https stackoverflow com a 49658133 1232833 我对代码做了一些修改 得到了这个 import matplotlib py
  • 例如,在 C++ 中,set precision (12) 和 set precision (012) 之间存在差异的原因是什么?

    例如 在 C 中 当您编写 set precision 12 时 12 是以 10 为底数 但是当您编写 set precision 012 时 它是一个八进制数 为什么 因为带有前导零 前导 0x 除外 的常量始终是八进制 八进制整数文字
  • 如何在android上使用socket.io和后台服务?

    我在android聊天应用程序上使用gottox socket io java client 现在我想使用socket io作为后台服务 在聊天应用程序中如果有新消息 当聊天应用程序关闭时 发送一条通知 如 聊天应用程序上的新消息 如果您想
  • 如何获取应用程序中给定目录中所有文件的文件名 NSArray?

    我想做的事情似乎很简单 在我的应用程序上的给定 目录 中获取文件名数组 但是我越多地使用 NSFileManager 和 NSBundle 我发现自己越迷失 我只想获取在我的 iPhone Xcode 项目中的特定目录中组织的文件的文件名
  • 如何检查项目的 vue.js 版本?

    I use 乌班图16 04我想知道如何检查vue js version我的项目使用的 我怎么做 让我们总结一下 jonrsharpe JamesAMohler 和 MartinCalvert 的解决方案 供寻求快速答案的朋友参考 Run
  • Guice - 使用静态辅助方法将依赖项注入到类中

    我对 Guice 还很陌生 之前没有使用过任何 DI 框架 在阅读了官方 wiki 和许多其他文档后 我仍然无法完全理解它 在我的特定情况下 我想编写一个使用其他 待注入 类的 EL taglib 函数 由于所有 taglib 函数都必须声
  • Ionic 4 标签样式

    我试图为 ionic 4 应用程序中的选项卡提供渐变背景 我还尝试为每个页面设置不同的颜色 渐变 背景 控制每个页面的 scss 中选项卡的样式 想要的效果如下 For
  • 使用 Roslyn 编译 xaml [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有办法使用Roslyn编译器来编译WPF UserControl 假设您想要编译一个包含标准 C
  • Resharper 中的 Jasmine 测试不会停止执行

    我使用 Visual Studio 2012 和 ReSharper 8 2 来测试我的 JavaScript 代码 到目前为止 使用 QUnit 工作得很好 在编写 Jasmine 测试时 当在文件开头添加以下行时 测试不会停止
  • Flexbox 等高不起作用

    我正在尝试将 flexbox 与 susy 一起使用 但不知何故它不起作用 我尝试了我在这里找到的所有问题 但它总是会中断 并且文本容器和图像容器不能保持相同的高度 移动视图从 38 em 开始工作 但不能 这就是我尝试过的 一旦我添加di
  • C++ 阻塞工作队列

    这个问题应该比我上几个简单一点 我在我的程序中实现了以下工作队列 Pool h tpool class It s always closed glasses ifndef POOL H define POOL H class tpool p
  • ImageMagick:此图像格式“”没有解码委托@ error/constitute.c/ReadImage/504

    Problem ImageMagick Convert 无法裁剪图像 看起来它不识别图像类型 我尝试过的 我在网上搜索了一下 发现了几个类似的问题 但不是我的 我尝试过他们的解决方案 包括 通过brew卸载并重新安装ImageMagick
  • 在Java中使用“instanceof”[重复]

    这个问题在这里已经有答案了 instanceof 运算符的用途是什么 https stackoverflow com questions 7313559 what is the instanceof operator used for 我了