假设我想发送以下参数:
key1: value1,
key2: value2
但目前我无法决定key1,key2的位置 那可能是任何字符串。 key1可以是city,key2可以是code。或者键1可以是companyName,键2是域。那么如何在java方法中设置任何自定义的未知参数呢?考虑一下我知道它们的值的参数总数和数据类型,但现在无法确定它们的确切键。如何在java中实现它?
答案 0 :(得分:0)
您可以在方法中发送一组对象:
Object[] myObjects = new Object[2];
myObjects[0] = "This is a string";
myObjects[1] = 5;
myMethod(myObjects);
public void myMethod(Object[] myObjects){
// DoSomethingOverHere
}
如果您只有字符串,则可以执行相同操作但指定字符串数组而不是对象。如果使用对象,请确保在使用之前检查对象的实例。
答案 1 :(得分:0)
我认为你的意思是实现一种方法,它可以接受任何类型的论证,但仍然可以继续工作。
以下是我将使用的方法: 假设你想使用myMethod:
class MainClass {
public Object myMethod(Object A,Object B)
{
Object C=(Object) (A.toString()+","+B.toString());
System.out.println(C.toString());
return C;
}
}
您可以使用任何类型的参数调用它:
public class TesterClass {
MainClass mainClass=new MainClass();
mainClass.myMethod(123, "PQR");
mainClass.myMethod(123.00, "PQR");
mainClass.myMethod(123.00, 123);
mainClass.myMethod(new int[]{1,2,3}, "PQR");
}
您的输出将是:
123,PQR
123.0,PQR
123.0,123
[I@659e0bfd,PQR
最后一个是数组,你可以操纵它的处理)