为什么原始类型有一个“类”,它是如何使用的?

2024-01-08

谈论 Java (7),您可以获得一个基本类型的类,如下所示:

Class classOfInt = int.class

对于每一个,您都会得到一个名为原始类型的“类”:

int.class    --> int
byte.class   --> byte
double.class --> double
...

但是您无法创建这些实例:

char.class.newInstance(); // throws 'InstantiationException'

看来它们的类没有映射到相应的包装类(Integer, Byte, etc.).

那么它们为什么有“类”,它们是如何使用以及如何实现的呢?


它们用于反射。

Method round = Math.class.getMethod("round", double.class);
System.out.println(Arrays.toString(round.getParameterTypes()));
System.out.println(round.getReturnType() == long.class);

Method exit = System.class.getMethod("exit", int.class);
System.out.println(Arrays.toString(exit.getParameterTypes()));
System.out.println(exit.getReturnType() == void.class);

prints

[double]
true
[int]
true

它们是如何实施的?

它们是内置于 JVM 中的,没有类文件来定义它们。

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

为什么原始类型有一个“类”,它是如何使用的? 的相关文章

  • 使用 java 从 XML 元素中删除空格

    我有一个 JSON 如下 String str Emp name JSON Emp id 1 Salary 20997 00 我想使用 java 将此 JSON 转换为 XML 我的 java 代码在这里 JSON json JSONSer
  • 使用 ScriptEngine 从 JavaScript 调用 Java 方法

    我正在使用 ScriptEngine 运行 JavaScript 我希望 JavaScript 脚本能够调用 myFunction 其中 myFunction 是我的给定类中的一个方法 我知道可以将 importPackage 用于标准 J
  • 如何使用 Jsoup 获取包含非 ASCII 字符(ą、ś ...)的 URL?

    我正在使用 jsoup 解析一些波兰网站 但我对 URL 中的 等特殊字符有问题example com k t读起来像example com k 每个没有这个特殊字符的查询都可以完美运行 我努力了Document doc Jsoup par
  • 为 JSP 创建注销链接?

    当用户登录我的应用程序时 他提交一个要通过 Servlet 处理的表单 servlet 为用户创建一个会话 我如何创建一个链接以便用户可以注销 我似乎无法直接链接到 Servlet 如何删除会话并链接回主页 HttpSession sess
  • SharePoint 2010 Web 服务上的 Java JBoss 401 错误

    我的代码在 Eclipse IDE 中测试时运行成功 我正在使用生成的 Copy wsdl 通过 Web 服务连接到 MS SharePoint 2010 当我在 JBoss 服务器上部署代码 运行 Adob e LifeCycle 时 我
  • 浏览时 Java Applet 不会被终止

    当用户离开加载小程序的页面时 如何停止 Java 小程序的进程 我正在使用 Chrome 现在要杀死小程序 我必须使用窗口的任务栏并杀死进程 java exe Java applet 具有生命周期方法 那些是init start stop
  • Android 服务 START_STICKY START_NOT_STICKY

    我需要让我的服务始终在后台运行 并使用 startService 函数启动我的服务 无论应用程序的状态如何 我都不想重新启动服务 这是我的观察 START STICKY gt 如果应用程序启动 则服务正在重新启动 当应用程序关闭时 服务也会
  • .NET 世界有 Maven 替代方案或端口吗?

    NET 世界有 Maven 替代方案或端口吗 我很想使用 Java 世界拥有的良好依赖管理系统 但我没有找到任何可与 NET 项目相媲美的系统 NMaven http incubator apache org nmaven 是第一个 官方努
  • 如何用 Java 制作 Windows 7 工具提示

    我一直在网上到处寻找 但没有找到这个小问题的答案 在 Windows 7 中 我认为在 Vista 中 您有一个漂亮的圆形银色工具提示 它看起来比旧的黄色盒装蹩脚工具提示要好得多 下面的 How do I make a Windows 7
  • Java TCP Echo 服务器 - 广播

    我有一个简单的回显服务器 我希望当连接的用户向服务器键入任何内容时 所有其他客户端和该客户端都会收到消息 MOD 它现在不会发送给所有客户端 但它应该发送 而且我只是不知道我的代码出了什么问题 所以现在它只会将消息 MOD 发送给发送消息的
  • 控制启动时的竞争条件

    我有一些代码想要执行一些一次性初始化 但这段代码没有明确的生命周期 因此在初始化完成之前 我的逻辑可能会被多个线程调用 所以 我想基本上确保我的逻辑代码 等待 直到初始化完成 这是我的第一次剪辑 public class MyClass p
  • 无法从 PDFA1-a 格式文档中提取图像

    我正在使用以下代码从 PDFA1 a 格式的 pdf 中提取图像 但我无法获取图像 List
  • 如何修复运行 Android 模拟器时出现 GPU Driver Issue 错误

    我的 Android 模拟器几周前运行良好 但现在出现错误 当我运行代码时 GPU 驱动程序问题错误对话框与模拟器一起弹出 当我单击 确定 时 Android 模拟器不会按预期运行应用程序 错误如下 Your GPU driver info
  • 如何使用 Java 文档 API 为 OrientDB 数据库创建自动递增索引/序列?

    我通过其文档 API 将 OrientDB 与 Java 结合使用 我有一个简单的类叫做items它有一个属性ID 我明确声明架构如下 OSchema schema db getMetadata getSchema OClass items
  • xclock 工作,X11 DISPLAY 设置但仍然 java.awt.HeadlessException:

    获取 java awt HeadlessException 似乎是一个非常常见的问题 并且 中已经讨论过 以下问题 没有 X11 DISPLAY 变量 这是什么意思 https stackoverflow com questions 662
  • CompletableFuture SupplyAsync

    我刚刚开始探索 Java 8 的一些并发特性 让我有点困惑的一件事是这两个静态方法 CompletableFuture
  • 在Linux中执行jar文件[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我创建了一个可执行的 Java jar 文件 也就是说 我将 java 程序正确打包到 jar 文件中 包括 META INF MANIFEST 文件
  • Thread.interrupt() 和 Thread.interrupted() 到底是如何工作的? [复制]

    这个问题在这里已经有答案了 从设置线程状态的角度来看 我不清楚这两种方法 Java 文档说 Thread interrupt 设置线程中断状态标志 调用 Thread interrupted 方法给出线程的状态并清除该标志 当这在实际场景中
  • 如何根据受保护的 String doInBackground 方法中 AsyncTask 的结果调用 Toast.makeText() ?

    我从 AsyncTask 中的数据库中获取数据 如果它为空 我想吐司一个警告文本 我在 AsyncTask 中尝试过 但我了解到它不是在工作线程中调用的 这是我的 doInBackground 方法 protected String doI
  • 在android中测量不规则多边形的面积

    我正在开发一个应用程序 在其中我在地图上绘制多边形 并且我使用的地图不是谷歌 它的Mapsforge开源离线地图库 我可以通过将地理点转换为像素点来轻松在地图上绘制多边形 但在这里我想发现是不规则的多边形 为此我做了很多尝试 但它让我失败了

随机推荐

  • 颤动底部被无限像素溢出

    我面临这个问题 当我将某个小部件添加到列的子项中时 我不断遇到 底部溢出无限像素 的问题 现在这就是添加名为的新小部件之前的样子countdown 以下是我添加后发生的情况countdown 这是屏幕下半部分的代码 我在其中添加countd
  • Android动画中的pivotX和pivotY是什么意思? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 这两个术语出现在很多地方 但它们在 Android 动画上下文中到底意味着什么 枢轴X和枢轴Y是动画的中心点 例如 如果你想做放大动画 你
  • iOS 8 Swift Xcode 6 - 设置顶部导航栏背景颜色和高度

    我到处查看并测试了 Stack 上发布的所有代码片段 但没有任何东西对我有用 因为我需要它工作 我只是想设置 导航栏高度 导航栏背景颜色 RGB 导航栏居中徽标 我正在使用 iOS8 Xcode 6 和 Swift 非常感谢您的明确答复 这
  • Tmux:如何使用选择树过滤当前会话窗口并格式化输出以显示不带主机名的窗口名称

    我想配置tmux choose tree to 仅显示我当前会话的窗口 但与此同时我想保留我当前使用的格式 不带主机名的窗口名称 我当前的设置是 bind key w choose tree F window name 看起来像这样 我发现
  • 将删除导航栏边框转换为 swift

    我正在尝试快速删除导航栏边框 这是通过在 Objective C 中使用以下代码来完成的 UINavigationBar appearance setShadowImage UIImage alloc init UINavigationBa
  • 使用超类静态方法获取子类的实例

    我有一个超类 我想转发一个名为的静态方法getInstance 到所有子类 创建子类的实例时 我然后在超类中注册该实例 可能使用哈希表 其中键基于getClass 然后 我希望使用前面提到的静态方法 getInstance 其中超类方法将返
  • PHP 中使用特殊字符对数组进行排序

    我有一个包含西班牙语语言名称的数组 lang ko coreano korean lang ar rabe arabic lang es espa ol spanish lang fr franc s french 我需要对数组进行排序并维
  • 跳过配置文件“main/binary-i386/Packages”的获取

    下午好 请告诉我我做错了什么 我刚在电脑上安装了Linux Ubuntu 但仍然对它一无所知 我尝试安装 PostreSQL 和 pgAdmin 我按照这个视频教程安装的https www youtube com watch v Vdzb7
  • Perl:打印传递给子例程的数组名称

    我将一个数组和一个标量传递给一个函数 以检查该值是否属于数组的一部分 如果它不是数组的一部分 则将其推送到数组 出于参考目的 它必须显示的是在推动它时必须显示数组的名称 这是我的代码 use v5 10 1 use strict use w
  • Angular2 Rxjs 404错误

    尝试启动 Angular2 应用程序时出现以下错误 Failed to load resource the server responded with a status of 404 Not Found angular2 polyfills
  • 文件写入在程序流程中应该发生时却没有发生

    这对我来说不是一个新问题 从 C 到 PERL 再到 Windows Mobile Windows XP 和其他 Windows 版本上的 Python 这个问题一直存在 让我心烦意乱 现在 在我最新的脚本中 这种情况再次发生 更具体地说
  • 使用 Expo 时如何忽略 fetch() 调用中的 SSL 证书问题?

    似乎反应原生无法在 fetch 调用期间禁用 SSL 验证 有人提到here https stackoverflow com questions 51130878 how to disable ssl check in react nati
  • 使用小数分隔符和可选的千位分隔符匹配数字的正则表达式

    我需要使用小数分隔符和千位分隔符 可选 来验证数字是否有效 我需要一个正则表达式 因为当前的代码不是由我完成的 使用的正则表达式无法正常工作 我的目标是修复它 因此以下组合是合法的 使用 作为小数点分隔符和 作为千位分隔符 10000 10
  • 如何在 Spring DM 中获取 BundleContext?

    我刚刚接触 Spring DM 我想访问 Bundlecontext 我的问题是我有一个包含 Activator 的捆绑包 但它没有 xml 配置文件 我无法触及这个捆绑包 那么我需要访问 BundleContext 和 serviceRe
  • CSS/Flexbox:仅显示容器中容纳的尽可能多的项目

    我的目标是构建一个面包屑样式组件 其中 显示项目的水平列表 每个项目都有最大宽度 如果宽度不足以显示项目 则从列表开头省略项目 优先考虑last列表中的项目 所有布局仅通过 CSS 实现 没有 JS 调整大小观察器等 Flexbox 似乎是
  • 如何检查Selenium WebDriver下载的文件?

    我使用 C 在 Selenium webdriver 中编写了一个自动化测试 其中一个步骤需要从服务器下载 XLSX 文件 如何验证文件是否已成功下载并获取其名称 Regards 我通过以下源代码找到了解决方案 string current
  • 包含服务器上任何位置的文件

    我的网站在生产服务器上完美运行 我已将其移至另一个网络服务器 VPS 让我用例子来解释一下 目录结构 includes header php business index php some other files index2 php 在我
  • 插入python数组以最小化元素之间的最大差异

    插值一维数组以使元素之间的最大差异最小化的简洁且可读的方法是什么 例如 如果我有数组 4 9 13 25 并且允许我再添加 1 个数字以最小化元素之间的最大差异 我会在 13 和 25 之间插入 19 最大差异现在是 6 而不是 12 当然
  • 在 MVC 中使用 ASP.NET 服务器控件?

    在我当前的项目中 我需要添加一项功能 允许用户查看其上传的 PDF 的缩略图 我找到了一个方便的组件 http www tallcomponents com pdfthumbnail aspx就实现了这一点 基本版本是免费的 但足以满足我当
  • 为什么原始类型有一个“类”,它是如何使用的?

    谈论 Java 7 您可以获得一个基本类型的类 如下所示 Class classOfInt int class 对于每一个 您都会得到一个名为原始类型的 类 int class gt int byte class gt byte doubl