强制用户在 Java 中填充 varargs 参数的好方法[重复]

2023-11-23

我想强制用户在调用构造函数时填写可选参数:

public MyClass(String... params) {
    this.params = params;
}

目前,以下代码有效:

new MyClass();

我想阻止它。我想到了这一点:

public MyClass(String param1, String... otherParams) {
    this.params = new String[1 + otherParams.length];
    this.params[0] = param1;
    // fill 1..N params from otherParams
}

String[] params不是一个选项,因为我需要能够使用逗号分隔的参数。

有什么好的解决方案来实现这一目标吗?请不要说 varargs 参数必须是可选的。问题不是这个。


也许下面是一个额外的默认构造函数?

/**
 * Please provide at least one parameter.
 */
@Deprecated
public MyClass() {
    throw new IllegalStateException("Please provide at least one parameter");
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

强制用户在 Java 中填充 varargs 参数的好方法[重复] 的相关文章

  • 清理码头 - 删除“不必要”的东西

    我习惯用Jetty http jetty codehaus org jetty 作为我的网络容器 我对我做了什么安装步骤得到原始的焦油球并且清理一些目录和文件从中 我在这里想提出的是 您通常从 Jetty 中删除什么以在生产 登台环境中使用
  • 未找到 MessageSource 的 ResourceBundle [消息]:找不到基本名称消息的包

    在 applicationContext xml 中 我定义了 MessageSource 如下所示
  • “_加载小部件时出现问题”消息

    加载小部件时 如果找不到资源或其他内容 则会显示 加载小部件时出现问题 就这样 惊人的 此消息保留在主屏幕上 甚至没有说明加载时遇到问题的小部件 我通过反复试验弄清楚了这一点 但我想知道发生这种情况时是否有任何地方可以找到错误消息 Andr
  • Android 2.2 SDK - Droid X 相机活动无法正常完成

    我注意到我在 Droid X 上调用的默认相机活动与我的 Droid 和 Nexus One 上的默认相机活动看起来不同 在 Droid 和 Nexus One 上选择 确定 后 活动将完成 Droid X 有一个 完成 按钮 它将带您返回
  • 如何使用 SimpleDateFormat 解析多种格式的日期

    我正在尝试解析文档中的一些日期 用户似乎以类似但不完全相同的格式输入了这些日期 以下是格式 9 09 9 2009 09 2009 9 1 2009 9 1 2009 尝试解析所有这些内容的最佳方法是什么 这些似乎是最常见的 但我想让我困扰
  • Grails 2.3.0 自动重新加载不起作用

    我最近将我们的项目升级到 grails 2 3 0 一切工作正常 除了每当我更改代码时自动重新加载都无法工作的问题 这包括所有项目工件 控制器 域 服务 gsps css 和 javascript 文件 我的旧版本 grails 可以正常工
  • 无法使用maven编译java项目

    我正在尝试在 java 16 0 1 上使用 maven 构建 IntelliJ 项目 但它无法编译我的项目 尽管 IntelliJ 能够成功完成 在此之前 我使用maven编译了一个java 15项目 但我决定将所有内容更新到16 0 1
  • Firestore - RecycleView - 图像持有者

    我不知道如何编写图像的支架 我已经设置了 2 个文本 但我不知道图像的支架应该是什么样子 你能帮我告诉我图像的文字应该是什么样子才能正确显示吗 holder artistImage setImageResource model getArt
  • 如何从 Retrofit2 获取字符串响应?

    我正在做 android 正在寻找一种方法来执行超级基本的 http GET POST 请求 我不断收到错误 java lang IllegalArgumentException Unable to create converter for
  • 在java中实现你自己的阻塞队列

    我知道这个问题之前已经被问过并回答过很多次了 但我只是无法根据互联网上找到的示例找出窍门 例如this http tutorials jenkov com java concurrency blocking queues html or t
  • 如何获取 WebElement 的父级[重复]

    这个问题在这里已经有答案了 我试过了 private WebElement getParent final WebElement webElement return webElement findElement By xpath 但我得到
  • 将表值参数与 SQL Server JDBC 结合使用

    任何人都可以提供一些有关如何将表值参数 TVP 与 SQL Server JDBC 一起使用的指导吗 我使用的是微软提供的6 0版本的SQL Server驱动程序 我已经查看了官方文档 https msdn microsoft com en
  • RSA OAEP、Golang 加密、Java 解密 -BadPaddingException:解密错误

    我正在尝试解密使用 RSA OAEP 在 Golang 中加密的字符串 但出现 BadPaddingException 解密错误 很难弄清楚我错过了什么 这是Golang加密方法 func encryptString rootPEM io
  • 无法加载或查找主类,可以在命令行中使用,但不能在 IDE 中使用[重复]

    这个问题在这里已经有答案了 在将其标记为重复之前 请先听我说完 我正在尝试使用 gradle 导入一个 java 项目 功能齐全 适用于所有其他笔记本电脑 没有问题 我的项目 100 正常运行 适用于所有其他笔记本电脑 当我的笔记本电脑被重
  • Espresso 和 Proguard 的 Java.lang.NoClassDefFoundError

    我对 Espresso 不太有经验 但我终于成功地运行了它 我有一个应用程序需要通过 Proguard 缩小才能处于 56K 方法之下 该应用程序以 3 秒的动画开始 因此我需要等到该动画结束才能继续 这就是我尝试用该方法做的事情waitF
  • 如何在 Eclipse Java 动态 Web 项目中使用 .properties 文件?

    我正在 Eclipse 中开发动态 Web 项目 我创建了一个 properties 文件来存储数据库详细信息 用户名 密码等 我通过右键单击项目和 New gt File 添加它 我使用了Java util包Properties类 但它不
  • 解析输入,除了 System.in.read() 之外不使用任何东西

    我很难找到具体的细节System in read 有效 也许有人可以帮助我 似乎扫描仪会更好 但我不允许使用它 我被分配了一个任务 我应该以 Boolean Operator Boolean 的形式读取控制台用户输入 例如T F 或 T T
  • 如何通过 Inno Setup for NetBeans 使用自定义 .iss 文件

    我将 Inno Setup 5 与 NetBeans 8 一起使用 并且我已经能够创建一个安装程序来安装该应用程序C users username local appname 但是我希望将其安装在C Programfiles 我如何在 Ne
  • 哪个集合更适合存储多维数组中的数据?

    我有一个multi dimensional array of string 我愿意将其转换为某种集合类型 以便我可以根据自己的意愿添加 删除和插入元素 在数组中 我无法删除特定位置的元素 我需要这样的集合 我可以在其中删除特定位置的数据 也
  • Android - 9 补丁

    我正在尝试使用 9 块图片创建一个新的微调器背景 我尝试了很多方法来获得完美的图像 但都失败了 s Here is my 9 patch 当我用Draw 9 patch模拟时 内容看起来不错 但是带有箭头的部分没有显示 或者当它显示时 这部

随机推荐

  • 如何检测 makefile `--silent/--quiet` 命令行选项是否已设置?

    如何检测makefile是否存在 silent quiet命令行选项已设置 相关问题 如何检测是否使用 rake 指定了 quiet 选项 我认为你需要 findstring s word 1 MAKEFLAGS 因为 MAKEFLAGS
  • calendar.getDisplayName 返回错误的日期

    下面是我的程序 当我输入相关的月份 日期和年份时 它返回错误的日期名称 我在这里缺少什么 我的计划 import java util Calendar import java util Locale import java util Sca
  • 理解git:将分支连接到远程存储库

    我在 github 上有一个存储库 比如 testrepo 现在我想设置一个本地存储库repo有一个分支origin master我希望能够从存储库中编辑内容 repo origin master lt gt origin master 克
  • 有什么方法可以从 Linux 用户空间向 SD 卡发送命令吗?

    我有一个 Debian 7 0 Linux 3 2 嵌入式 ARM TI AM335x 系统 这是我们开发的定制板 但是SD卡部分至少和开发板是一样的 我想向卡发出一些特定于供应商的 SD 卡命令 即使用 CMD56 读取一些 SMART
  • 替代 PHP exec() 函数

    目前我正在使用 exec zcat filename output 解压缩一个 Z输入文件 但不幸的是我的托管公司现在已禁用此功能 有解决方法吗 pathtofile filename lis Z exec zcat pathtofile
  • 可串行化事务死锁

    文件说 serializable交易一笔接一笔地执行 但实际上这似乎并非事实 这是两笔几乎相等的交易 区别只是延迟了 15 秒 1 set transaction isolation level serializable go begin
  • Int 数组的数组。仅按顺序存储重复项

    我需要存储一个 Int 数组的数组来存储有序重复项 位于数组中 Example 给定数组 mainArray 7 7 3 2 2 2 1 7 5 5 现在我需要创建一个 int 数组的二维数组 例子 Array 7 7 3 2 2 2 1
  • R:从数值变量和自定义/开放式/单值区间创建分类变量

    我经常发现自己尝试从数值变量 用户提供的一组范围创建分类变量 例如 假设我有一个带有数字变量的 data framedf V并想创建一个新变量df VCAT这样 df VCAT 0 if df V等于 0 df VCAT 1 if df V
  • 通过补丁或合并提案在启动板上提交错误修复?

    我是新来的发射台 and Bazaar 我正在尝试找出提交错误修复的最佳方法 我正在使用一些托管在 Launchpad 上的相当流行的开源软件 但它不是很稳定 我创建了自己的项目分支来稳定它 并仅应用我们需要的错误修复 而无需添加正在进行的
  • 如何使用API​​网关调用AWS步骤函数?

    根据Amazon的文档 可以使用HTTP API调用step函数 Step Functions 可以通过 Step Functions 访问和使用 控制台 AWS 开发工具包或 HTTP API 我试图搜索详细信息 但似乎找不到任何好的信息
  • 按父 ID 的顺序选择记录

    简单的问题 只是无法按照我需要的顺序获得结果集 p 我有一个表 类别 id name parent 1 apple 0 2 macintosh 1 3 atari 0 4 st 3 5 lisa 1 我试图选择获取以下结果集 1 apple
  • Azure Web 应用程序的数据库连接速度慢

    我开发了一个 Web 应用程序 一个标准的 Web 应用程序 允许用户显示和更新 SQL 数据库中的一组数据 Web 应用程序使用 AngularJS 客户端 该客户端通过 MVC Web API 调用与 Web 服务器交互 以检索和更新数
  • 如何动态更改角度服务实现?

    我是 Angular2 的新手 并且我有两项服务DefaultService And SpecialService应根据组件状态交替使用 我不知道是否可以将单例注入到我的组件中GeneralService以某种方式表现得像DefaultSe
  • 禁用时间轴上的照片分组

    有谁知道Facebook何时将时间轴上同一相册中的照片分组 有可能阻止它这样做吗 如果您每天 通过 API 发布一张或两张图片 并带有指向其他网站的反向链接 并且 Facebook 将这些内容分组 那么其中一个链接可能永远不会被其他人看到
  • Jasmine.js 测试 - 监视 window.open

    JS var link this notificationDiv getElementsByTagName a 0 link addEventListener click function evt evt preventDefault vi
  • 类型“Microsoft.Reporting.WebForms.ReportViewer”存在于两者中

    我有一个 ASP NET 应用程序 它引用版本 9 0 0 0 的 Microsoft ReportViewer WebForms 我更改为引用版本 11 0 0 0 的 Microsoft ReportViewer WebForms 现在
  • 如何设置画布大小?

    我有一个名为 SeatsPanel 的类 我在 onDraw 方法中绘制座位 使用 drawRect onDraw方法使用Canvas作为参数 但是如何设置Canvas的大小呢 我之所以问这个问题是因为这个类在另一个类中被夸大了 我知道画布
  • R:合并同一数据表中的行,连接某些列

    我在 R 中有我的数据表 我想合并具有相同的行customerID 然后连接其他合并列的元素 我想从这里开始 title author customerID 1 title1 author1 1 2 title2 author2 2 3 t
  • 在 Android 中运行单元测试时,意图解析为不同的进程

    我有一个使用两个活动的小型应用程序 这两个活动都继承自 MapActivity 并显示地图 com google android maps 由于 Android 谷歌地图文档说 每个仅支持一个 MapActivity 过程 多个地图活动 同
  • 强制用户在 Java 中填充 varargs 参数的好方法[重复]

    这个问题在这里已经有答案了 我想强制用户在调用构造函数时填写可选参数 public MyClass String params this params params 目前 以下代码有效 new MyClass 我想阻止它 我想到了这一点 p