我一直在尝试编写一种方法,该方法接收具有字符串和 int 值的不确定数量的对象,但每个对象都是有意义的。据我了解,这些可以在方法中使用“...”来完成,例如:
public void methodExample(String... a) { }
可以被称为methodExample("a");
或methodExample("a", "b", "c");
另外,如果我在无限的意义上使用多种不同类型的参数,我会写:
public void methodExample(String... a, int... b);
然后,我将其称为:methodExample("a", "b", "c", 1, 2, 3);
我的问题是:是否可以采用以下格式执行此操作:methodExample("a", 1, "b", 2, "c", 3")
据我所知,实现这一目标的唯一方法是写
methodExample(new ExampleObject("a", 1), new ExampleObject("b", 2));
有更简洁的方法吗?感谢。
答案 0 :(得分:2)
没办法。即使java 9's immutable collections选择使用您的格式,因此我认为没有其他方法可以完成此类任务。
在thread中有关于这个主题的热烈讨论。它还介绍了使用临时对象来保存数据。