Java:乘以通用数字而不改变其类型

2024-03-07

Java中有没有办法实现这个方法?

public static <T extends Number> T doubleOf(T number){
    //I don't know...
}

Thanks


正如其他答案中提到的,没有通用的解决方案。 除此之外,您想要实现的操作对于某些操作可能没有明确定义Number子类。例如,的倍数是多少AtomicInteger?它是具有相乘值的同一个实例吗?或者一个新的实例AtomicInteger?或者新的平原Integer?理论上,可能存在一个子类Number这不允许自由创建新实例。

您可以测试一些已知子类的输入并为这些子类实现操作。像这样的事情:

@SuppressWarnings("unchecked")
public static <N extends Number> N multiply(N number, int multiplier) {
    Class<? extends Number> cls = number.getClass();
    if (cls == Integer.class) {
        return (N) Integer.valueOf(number.intValue() * multiplier);
    }
    if (cls == Long.class) {
        return (N) Long.valueOf(number.longValue() * multiplier);
    }
    throw new UnsupportedOperationException("unknown class: " + cls);
}

恐怕有必要以某种形式压制警告。

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

Java:乘以通用数字而不改变其类型 的相关文章

  • Restlet 和 MULTIPART_FORM_DATA 或通过 Restlet 将文件放在 Google App Engine 上的其他方式

    我尝试通过 Restlet 接收文件 但只获得完整的 MULTIPART FORM DATA 如何提取我的特定文件 我找到了一些代码块 但它们的类型不可用 RESTlet 如何处理多部分 表单数据请求 https stackoverflow
  • 按对象值分组,统计后按最大对象属性设置组键

    我设法使用 Java 8 Streams API 编写了一个解决方案 该解决方案首先按对象 Route 的值对列表进行分组 然后计算每组中的对象数量 它返回一个映射 Route gt Long 这是代码 Map
  • 黄瓜与 Micronaut

    我正在尝试将 Cucumber 与 Micronaut 一起使用 但当我尝试将其与 Cucumber 一起使用时 MicronautTest 注释根本不起作用 未注入 theApple 请参阅下面的代码 如果我在没有黄瓜的情况下运行它就可以
  • 如何在 Java 中安装附加包?

    我对 Java 很陌生 我想使用名为的包中的一些功能daj 教程代码有以下几行 import daj import java util import java lang Math import Msg 但第一行和第四行会产生红色下划线 导致
  • 文件保存在文件系统中 VS 保存在数据库中

    我正在设计一个 servlet 或 Struts2 中的操作 用于文件 图像 文档等 下载 但我想知道哪种更好的方法可以将文件保留在文件系统和数据库中 只需保留文件的路径或将文件保留在数据库中 如 BLOB 我知道当我查询数据库时 哪里的
  • 首选项活动中的广告“没有足够的空间来显示广告!需要:<480, 75>,拥有:<432, 1073741823>”

    我试图在偏好活动中展示广告 但它从未出现 Logcat 始终显示消息 没有足够的空间来显示广告 想要 有 这就是我制作广告的方式 我对广告有自定义偏好 public class AdmobPreference extends Prefere
  • org.hibernate.MappingException:没有 JDBC 类型的方言映射:1111

    我使用的是 postgres v8 3 它的列类型为 XML DDL 看起来像这样 CREATE TABLE contact ID INTEGER NOT NULL NAME VARCHAR NOT NULL Details XML 在映射
  • 处理中渲染极地带面体时出现问题

    我最近一直在研究 Zohedrons 和Rob Bell http zomadic com 做出了美丽的 我玩了免费的极地带面体 Sketchup 插件 http zomebuilder com 并考虑使用几何图形加工 http proce
  • Java 泛型和数字类型

    我想创建一个通用方法来有效地执行此操作 class MyClass static
  • 在 Java 5 及更高版本中迭代 java.util.Map 的所有键/值对的最简单方法是什么?

    在 Java 5 及更高版本中迭代 java util Map 的所有键 值对的最简单方法是什么 假设K是您的密钥类型 并且V是你的值类型 for Map Entry
  • Java 中意外的负数

    import java util public class Prac9FibonacciNumbers public static void main String args int x new int 100 x 0 1 x 1 1 fo
  • kafka Avro 多个主题的消息反序列化器

    我正在尝试以 avro 格式反序列化 kafka 消息 我使用以下代码 https github com ivangfr springboot kafka debezium ksql blob master kafka research c
  • 在 Java 中打开现有文件并关闭它。

    是否可以在java中打开一个文件附加数据并关闭多次 例如 psuedocode class variable declaration FileWriter writer1 new FileWriter filename fn1 writer
  • JSP 作为电子邮件模板

    有没有办法发送 MIME 电子邮件 其中电子邮件正文源自 JSP 我需要使用 Javamail 发送一封电子邮件 其中包含一个表格 我认为如果我可以使用 JSP 来完成所有格式设置和布局 将会很方便 在这个线程中 Java 电子邮件模板的建
  • 在openjdk:7-jre-alpine docker上如何安装python 3.6

    直到大约一周前 我才在 java 图像上成功使用 python 3 6 脚本 如下所示 FROM openjdk 7 jre alpine RUN apk update apk upgrade apk add no cache bash a
  • 按度数在圆上找到一个点?

    假设我们有一个 100x100 坐标系 如下所示 0 0 是它的左上角 50 50 是它的中心点 100 100 是它的右下角 等等 现在我们需要从中心向外画一条线 我们知道线的角度 但需要计算其终点的坐标 您认为最好的方法是什么 例如 如
  • Android - 保持用户登录状态

    我正在尝试使用 PHP 和 MySQLi for Android 进行登录 我不明白的是如何保持用户登录状态 我看到一个简单的教程 其中有人使用 SQLite 来保护信息 但我不知道这是否真的安全 如何保存用户信息以保持用户登录状态 谢谢
  • Android应用程序中的模式输入

    我想知道是否有其他替代方案可以替代 Android 上平庸的 EditText 密码输入 是否有 API 或开源代码可以集成到我的应用程序中 类似于锁屏图案解锁 Intent 可能会返回哈希值 数字 字符串或代表用户输入的模式的任何内容 我
  • 如何确保超类的子类方法的线程安全?

    我参加了一次面试 并被要求为以下要求设计一个课程 假设我有一个 A 类 它可以有任意数量的子类 即子类 类 A 有一个名为 doSomething 的方法 该方法是同步的 要求是 A 的所有子类都是强制性的重写 doSomething me
  • 按字母顺序对对象的 ArrayList 进行排序

    我必须创建一个方法来排序数组列表根据电子邮件按字母顺序排列对象 然后打印排序后的数组 我在排序时遇到麻烦的部分 我已经研究过并尝试使用Collections sort vehiclearray 但这对我不起作用 我是因为我需要一个叫做比较器

随机推荐

  • 在 Android 版 PhoneGap 上捕获返回按键

    我正在使用 PhoneGap 进行 Android 应用程序开发 但我一直在捕获设备上的后退键按下 我尝试了其他线程和官方维基页面中的所有内容 但似乎都不起作用 我可以使用 keyEvent menuTrigger 和 keyEvent s
  • 如何以编程方式读取 PDF 书签

    我正在使用 PDF 转换器来访问 PDF 中的图形数据 一切工作正常 除了我没有得到书签列表 是否有可以读取 PDF 书签的命令行应用程序或 C 组件 我找到了 iText 和 SharpPDF 库 目前正在浏览它们 你曾经做过这样的事吗
  • 是否可以使用 stdout 作为 fluidd 源来捕获特定日志以写入elasticsearch?

    我对 fluidd 和 elasticsearch 都是菜鸟 我想知道 fluidd 是否可以从 stdout 捕获特定日志 在本例中为我们的应用程序生成的自定义审核日志 使用 stdout 作为源 并将它们写入到elasticsearch
  • 合并两个具有相同键的字典

    我有以下 2 本字典想要合并 我想合并相同的键 并且我想保留两个字典的值 我用了dict1 update dict2 但这替换了第二个到第一个字典中的值 u dict1 160 u na u na 162 u test u qq u wds
  • Kitkat (API 19) 中使用 setGroup() 的堆栈通知不起作用

    我有一个问题找不到答案 我已经尝试过 AndroidDeveloper 教程 我已经在 stackoverflow 和 google 上进行了搜索 但要么我的搜索技能太棒了 要么没有答案 我认为可以回答我的问题 当有多条消息时 我想将所有新
  • 当计时器触发作业时,如何在 Jenkins 中获取 BUILD_USER?

    我想在工作后电子邮件中向触发 Jenkins 工作的用户显示 这可以通过使用插件来实现构建用户变量插件和环境变量BUILD USER 但是当调度程序触发作业时 该变量不会被初始化 我们怎样才能做到这一点 我知道我们有一个名为 EnvInje
  • 如何使用opengl函数在c中制作用于绘制3D点的3D窗口?

    我可以制作 2D 窗口并绘制点 线等 我想制作 3D 窗口 以便可以通过绘制 3D 点 线来绘制 3D 对象 例如 glVertex3d x y z 如 2D glVertex2d x y 但我无法制作 3D 窗口 我只想制作一个 3D 窗
  • String.indexOf 函数出现意外结果?

    我真的对这个感到抓狂 情况是这样的 我有两个 JavaScript 字符串 如下所示 dsName Test 1 replacementString Test 我正在尝试查看 dsName 是否以 replacementString 开头
  • 防止在线棋牌游戏作弊? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 在许多在线国际象棋大厅中 我见过 引擎 的实例 其中作弊者会在主游戏窗口的同时打开国际象棋程序 然后他会进行设置 以便将对手的动作传送
  • 使用正则表达式的 jQuery 验证插件自定义方法

    我需要为 jQuery Validator 创建一个新方法 但不知道从哪里开始 我希望它检查输入的电子邮件是否包括 specifieddomain com 但这也是输入的最后一部分 例如 specificdomain comChris 就不
  • ISO 8601 格式的当前时间

    出于记录目的 R 脚本如何获取 UTC 时区中的当前日期和时间 作为以下格式的 ISO 8601 字符串 2015 12 31T14 26 56 600374 00 00 as POSIXlt似乎是解决方案 并且文档声称它接受格式参数 但我
  • 访问 SQL 创建一对多关系,无需强制引用完整性

    我有这个关系 我必须暂时销毁它才能使用 SQL 命令更改 salID 字段的大小 ALTER TABLE Adressen DROP CONSTRAINT ChildTableMainTable 如何使用 SQL 命令重新创建相同的关系类型
  • 如何快速验证区分大小写的文件名是否确实存在

    我必须制作一个与unix兼容的windows delphi例程 以确认文件系统中是否存在文件名与想要的完全相同的情况 例如 John txt 在那里 而不是 john txt 如果我检查 FileExists john txt 由于 win
  • 在连接之间共享事务

    我有一个 FileShare 爬虫 获取权限并将其放在某处以供以后审核 目前 它正在启动多个线程来抓取同一文件夹 以加快进程 在 C 中 每个SqlConnection对象有自己的SqlTransaction 由SqlConnection
  • Inno Setup - 检查目标中是否存在文件,否则不会中止安装

    我需要我的安装程序检查目标位置中是否存在文件 如果不存在 则安装将中止 我的项目是一个更新补丁 因此我希望安装程序在应用程序的主 exe 不在目标中时避免安装更新文件 我怎样才能做到这一点 有人可以给出一个通过 Windows 注册表检查文
  • Spring JdbcTemplate批量更新处理异常

    目前我们的代码使用JdbcTemplate的batchUpdate方法来进行批量插入 我的问题是 如果其中一个更新出现任何异常 如何处理它 假设仅通过添加日志 并继续下一个更新 sql 语句 另外 JdbcTemplate 的 batchU
  • 多租户隔离数据库上的 DAL 和配置最佳实践

    我的公司拥有十几个网站和独立的数据库 相同的模式 每个客户都有自己的网站 不同的应用程序池 和数据库 每个网站都有自己的配置 多个连接字符串 但它们都有相同的配置架构 cust1 domain com cust2 domain com cu
  • Flutter NSException:配置失败。可能是GoogleService-Info.plist中的GOOGLE_APP_ID无效或自定义选项中设置的无效造成的

    GoogleService Info plist文件是通过添加的将文件添加到 Runner 选项 所以 它位于 Runner 目录中 我已经检查了很多堆栈溢出答案 但无法找出问题所在 我还重新检查 GoogleService Info pl
  • 重叠标签ggmap

    我有谷歌地图和带有文本标签的坐标列表 当我预览时 标签重叠 因此变得不可读 library ggmap WPmap lt qmap c lon 4 80324 lat 52 40738 zoom 12 source google 表kaar
  • Java:乘以通用数字而不改变其类型

    Java中有没有办法实现这个方法 public static