动态查找代表原始 Java 类型的类

2023-11-25

我需要在 Java 中进行一些反射方法调用。这些调用将包括具有基本类型(int、double 等)参数的方法。反射查找方法时指定此类类型的方式有 int.class、double.class 等。

挑战在于我接受来自外部源的输入,该输入将动态指定类型。因此,我也需要动态地提出这些类引用。想象一个分隔文件,其中包含方法名称列表和参数类型列表:

doSomething int double
doSomethingElse java.lang.String boolean

如果输入是这样的java.lang.String,我知道我可以使用Class.forName("java.lang.String")回到那个类实例。有没有办法使用该方法或其他方法来恢复原始类型类?

Edit:感谢所有受访者。很明显,没有内置的方法可以干净地做我想做的事情,所以我将满足于重用ClassUtils来自 Spring 框架的类。它似乎包含 Class.forName() 的替代品,可以满足我的要求。


The Class正如您所说,可以使用例如获取原始类型的实例int.class,但也可以使用类似的方法获得相同的值Integer.TYPE。每个原始包装类都包含一个静态字段,TYPE,它具有相应的原始类实例。

您无法通过以下方式获取原始类forName,但您可以从现成的课程中获得它。如果你绝对必须使用反射,你可以尝试这样的事情:

Class clazz = Class.forName("java.lang.Integer");
Class intClass = clazz.getField("TYPE").get(null);

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

动态查找代表原始 Java 类型的类 的相关文章

  • 在Java Servlet中获取通过jquery ajax发送的参数[重复]

    这个问题在这里已经有答案了 我在网上搜索这个主题 但找不到有效的示例 我会很高兴有人能给我帮助 这就是我测试的 ajax url GetJson type POST dataType json contentType application
  • Java 错误和警告列表

    在哪里 如何获得所有 java 和 javac 的错误和警告消息的列表 This http mindprod com jgloss compileerrormessages html我认为页面是您所需要的
  • 哈希密码字段使用什么数据类型以及长度?

    我不确定密码哈希是如何工作的 稍后将实现 但现在需要创建数据库模式 我正在考虑将密码限制为 4 20 个字符 但据我了解 加密后哈希字符串的长度将有所不同 那么 如何将这些密码存储在数据库中呢 更新 仅使用哈希函数不足以存储密码 你应该阅读
  • 传递自定义类型查询参数

    如何接受自定义类型查询参数 public String detail QueryParam request final MYRequest request 上面的行在启动服务器时出现错误 jersey server model ModelV
  • 使用 https 的 Web 服务身份验证给出错误

    我编写了一个简单的 Web 服务 并使用摘要和 HTTPS 身份验证来保护它 我已经使用 Java 中的 keytool 生成了我的证书 当我通过创建 war 文件在 Tomcat 中部署 Web 服务时 axis 的欢迎页面正确显示 但是
  • 当我们使用赋值而不是比较时,如何评估 if/while 条件?

    我在学习 Java 的 OCA OCP 时发现了这个令人惊讶的事情 下面是第一段代码 其中 if 测试条件 部分 让我惊讶 public class BooleanIf public static void main String args
  • 用于制作代码编辑器的 JavaFX 相当于 JSyntaxPane 的什么?

    以前在 Swing 中 我使用过JSyntaxPane用于制作一个小型 Java 源代码编辑器 为了练习 我决定用 JavaFX 重做整个项目并添加对更多语言的支持 最好是尽可能多 不过好像没有什么类似的JSyntaxPane 一些研究让我
  • 如何在正则表达式中编写可选单词?

    我想编写一个识别以下模式的 java 正则表达式 abc def the ghi and abc def ghi 我试过这个 abc def the ghi 但是 它没有识别第二种模式 我哪里出错了 abc def the ghi 删除多余
  • 使用正则表达式验证电子邮件的最大长度

    我找到了用于电子邮件验证的正则表达式 a z0 9 a z0 9 a z0 9 a z0 9 a z 2 4 我希望电子邮件的最大长度为 20 个字符 因此我将其更改为 a z0 9 a z0 9 a z0 9 a z0 9 a z 2 4
  • C++ 中的“int”默认是“signed long int”吗?

    Is int默认情况下signed long int in C 它是否依赖于平台和 或编译器 如果是这样 怎么办 EDIT 以下任何一项是否保证是重复的 signed short int signed int signed long int
  • 在 Eclipse 中删除空块之前的新行

    我更喜欢奥尔曼式 http en wikipedia org wiki Brace style Allman style大括号 例如 if foo magical prancing unicorn stuff 而不是 if foo unma
  • 如何获取 JDBC 中 UPDATE 查询影响的所有行?

    我有一项任务需要使用更新记录PreparedStatement 一旦记录被更新 我们知道更新查询返回计数 即受影响的行数 但是 我想要的不是计数 而是受更新查询影响的行作为响应 或者至少是受影响的行的 id 值列表 这是我的更新查询 UPD
  • 始终将双精度舍入

    我怎么总是能把一个double to an int 并且永远不要将其四舍五入 我知道Math round double 但我希望它始终向上舍入 所以如果是的话3 2 四舍五入为 4 您可以使用Math ceil method 请参阅Java
  • 为 REST API 生成 Swagger UI 文档

    我使用 Java 中的 JAX RS Jersey 开发了 REST API 我想为其转换 生成基于 Swagger 的 UI 文档 谁能以简单的方式告诉我如何做到这一点的精确 步骤 很抱歉 他们网站上给出的步骤对我来说有点模糊 有多种方法
  • 在 Eclipse RCP 应用程序中禁用插件贡献

    我经常遇到这个问题 但尚未找到解决方案 每当我编写一个新的基于 Eclipse RCP 的应用程序并包含来自 Eclipse 平台的插件时 我都会 继承 其中一些插件的 UI 贡献 大多数贡献 菜单项 键盘快捷键 属性页 都很有用 但有时我
  • 如何在 JASPIC 中保存经过身份验证的用户?

    我开发了一个安全认证模块 SAM 并实现了validateRequest方法 我还有一个简单的 Web 应用程序配置为使用此 SAM In my validateRequest方法 我检查 clientSubject 并设置一个Caller
  • log4j.properties 在 Wildfly 上无法正常工作

    我的类路径中有一个 log4j properties 文件 它位于 APP XX jar log4j properties 位置 我注意到在ear文件中我还可以在lib文件夹中找到log4j 1 2 17 jar 但无论我在 log4j p
  • 线程数组?

    所以我在理解如何避免线程的顺序执行时遇到了问题 我试图创建一个线程数组并在单独的循环中执行 start 和 join 函数 这是我现在拥有的代码示例 private static int w static class wThreads im
  • 用于生成 ISO 文件的 Maven 插件

    有没有可以生成ISO镜像的maven插件 我需要获取一些模块的输出 主要是包含 jar 的 zip 文件 并将它们组合成一个 ISO 映像 Thanks 现在有一个 ISO9660 maven 插件可以完成这项工作 https github
  • Haskell数据类型转换问题

    我目前正在学习 Haskell 并且一直在编写一些非常简单的程序来练习 我的程序之一是 import System IO main do putStrLn Give me year y lt getLine let res show cal

随机推荐

  • 如何优雅地关闭因关闭执行该应用程序的命令行而终止​​的 Java 应用程序?

    有一个已回答的问题优雅地关闭 Java 命令行程序的最佳方法 当程序被 Ctrl C 终止时 关闭挂钩会执行此任务 我的问题是如果在Java程序执行过程中命令行本身关闭了如何优雅退出 我用关闭挂钩进行了测试 但在这种情况下它不起作用 我无法
  • 用 jQuery 制作一个逃跑按钮

    我想创建一个带有简单按钮的页面 当用户尝试单击它时 该按钮会远离用户 我们可以称之为 逃跑 按钮吗 有没有一个简单的 jQuery 片段可以让我做同样的事情 问候 卡兰 米斯拉 button hover function this css
  • ios mapkit 通过点击地图关闭注释标注

    我有一个地图套件应用程序 可以在地图上放置注释 当您按下它们时 它会显示带有标题属性的标注 这工作正常 但用户无法关闭它们 它们保持打开状态 直到点击另一个注释 我不能让用户可以点击地图上的其他位置 或再次点击注释 来关闭它吗 我有一种感觉
  • Windows Powershell 中的 Unix tail 等效命令

    我必须查看大文件的最后几行 典型大小为 500MB 2GB 我正在寻找相当于 Unix 命令的命令tail对于 Windows Powershell 一些可用的替代方案是 http tailforwin32 sourceforge net
  • VB.NET 窗口屏幕截图 (ALT+PRINTSCREEN)

    我在某处找到了该代码 我发现它非常有用 但我想找到一种方法使其工作 以便它仅捕获给定的窗口目标 可能带有进程 ID 或窗口名称 即使该窗口未处于活动状态 我不想使该窗口处于活动状态 但想要获得屏幕截图 就像我在其上执行 Alt PrintS
  • TypeScript:根据字符串文字属性一般推断联合类型成员

    TypeScript v3 2 2 允许我定义接口的联合 每个接口都有一个唯一的字符串文字属性 可以用作类型保护 例如 type Device Laptop Desktop Phone interface Laptop type Lapto
  • 如果给定表达式*不*格式良好,“anti-SFINAE”将启用重载

    如果特定表达式的格式不正确 则可以轻松使用 SFINAE 隐藏特定函数重载 但我想做相反的事情 隐藏重载当且仅当给定表达式is格式良好 并且以非常通用的方式这样做 我有一个适用于 clang 3 5 0 和 gcc 5 2 0 的解决方案
  • 在 C++ 程序中以编程方式检测字节顺序

    是否有一种编程方法来检测您是否处于大端或小端架构上 我需要能够编写在 Intel 或PPC系统并使用完全相同的代码 即没有条件编译 我不喜欢基于类型双关的方法 它经常会被编译器警告 这正是工会的目的 bool is big endian v
  • 如何映射联合数组类型?

    我有以下结构 interface Test1 number number interface Test2 extends Test1 text string let test Test1 Test2 test map obj gt does
  • JavaScript 中的空白字符串是真还是假?

    这个表情 true回报false 意思是 是虚假的 然而if console log true else console log false 得到结果为真 现在我很困惑 空白字符串是真还是假 字符串 是一个 真实 值 以下是 假 值的列表
  • before_filter :require_owner

    我有许多资源 行程 时间表等 其操作应仅限于资源所有者 如何使用 ApplicationController 中定义的 require owner 方法来实现代码来实现此目的 理想情况下 代码将查找所有者的继承链 以便 before fil
  • 显示通知 DIV 时如何“调暗”网页的其余部分?

    在我的网络应用程序中 我显示了一个 通知 DIV 我想 调暗 页面的其余部分 以便通知 DIV 在显示时更加突出 有没有一种相当简单的方法可以做到这一点 这个问题只涉及视觉效果 而不涉及页面其余部分的功能 下面是我在网络其他地方找到的功能示
  • 更新 select2 数据而不重建控件

    我正在转换一个
  • 在 Python 中编写固定宽度、空格分隔的 CSV 输出

    我想使用 Python 的 csv writer 编写一个固定宽度 空格分隔和最少引用的 CSV 文件 输出示例 item1 item2 next item1 next item2 anotheritem1 anotheritem2 If
  • 查找字符串中所有重复的子字符串以及它们出现的频率

    Problem 我需要满足以下条件的所有字符序列 字符序列必须出现多次 LE 1 因此无效 字符序列必须长于 1 个字符 因此 M 2 无效 字符序列不得是出现相同次数的较长现有序列的一部分 因此 如果 LIO 2 存在 则 LI 2 无效
  • 我对 getline+strings 不明白什么?

    这是我第一次使用 stackoverflow 我一直无法找到有关 getline 的所需信息 我正在参加一个简单的工程转移编程课程 因此我们编写的代码非常简单 我在这里想做的就是将用户定义数量的问题和答案放入两个不同的数组中 我的 whil
  • 我想每秒调用 20 次 installTapOnBus:bufferSize:format:block:

    我想实时显示麦克风输入的波形 我已经使用installTapOnBus bufferSize format block 实现了 这个函数一秒钟调用3次 我想设置这个函数每秒被调用20次 我可以在哪里设置 AVAudioSession aud
  • 为什么在调用 getWriter() 后无法更新 HttpServletResponse 标头?

    今天下午修复了一个问题后 我一直在网上进行挖掘 其中添加到 HttpServletResponse 的 Cookie 没有正确反映在响应标头中 因为我们的 Servlet 之前已经检索了响应的 PrintWriter 即 response
  • TransitionWithView 和 animateWithDuration 的问题

    我有以下问题transitionWithView and animateWithDuration 我的一个animateWithDuration块不会转换 它是突然的变化 并且transitionWithView不会暂时禁用用户交互 我已经
  • 动态查找代表原始 Java 类型的类

    我需要在 Java 中进行一些反射方法调用 这些调用将包括具有基本类型 int double 等 参数的方法 反射查找方法时指定此类类型的方式有 int class double class 等 挑战在于我接受来自外部源的输入 该输入将动态