将Integer或String数组作为参数传递给java

时间:2015-04-20 06:09:14

标签: java arrays

我正在编写一个java函数,该函数有两个参数:一个string类型而其他可以是array of String, Integer, Float, Double, Boolean或者只是String

在JavaScript中,将任何数据作为参数传递都很容易,但是java中的优秀解决方案是什么?

5 个答案:

答案 0 :(得分:2)

在java中,您只能传递方法定义的数据。解决这个问题的方法可以是使用Object作为参数。除此之外,您可以使用相同的名称创建许多方法,但接受不同的参数。 例如:

public void example(String str, Object obj){ /* code */ }

使用Object时,您需要确保检查它的类型,因此您最终不会尝试将整数用作字符串数组。

我很确定使用Object不是最好的方法,你应该使用不同参数的多个方法。

答案 1 :(得分:1)

您可以重载方法以接受不同的参数。

 void doSomething(String x, int[] y) {}

 void doSomething(String x, String[] y) {}

 void doSomething(String x, String y) {}

这样,你仍然有类型安全性(Object参数没有给你)。

答案 2 :(得分:0)

我想这就是你想要的

public void method1(String str,Object ... val)

在方法体内,您必须相应地处理不同的对象

答案 3 :(得分:0)

如果您希望第二个对象作为任何数据类型数组,您可以执行某些操作 像这样

public void _methodName(String arg1,Object[] arg2)

由于 String,Integer,Float,Boolean 都是从java.lang.Object继承的,您只需将 Object[] 作为第二个参数传递并且您可以随意传递参数( String,Int,.... etc )。

答案 4 :(得分:0)

根据您的需要,方法的原型如下:

public void testMethod(String strVal, Object[] genericVal)

现在在body部分中,您必须使用Wrapper Classes将对象强制转换为所需的格式。

以上实施将解决问题。