【问题标题】:How I can send custom parameters through java?如何通过java发送自定义参数?
【发布时间】:2017-06-08 17:06:43
【问题描述】:

假设我要发送以下参数:

key1: value1,
key2: value2

但目前我无法决定 key1,key2 的位置会是什么 这可能是任何字符串。 key1 可能是城市,key2 可能是代码。或者键 1 可能是 companyName,键 2 是域。那么如何在 java 的方法中设置任何自定义的未知参数呢?考虑到我知道参数的总数和它们的值的数据类型,但现在无法确定它们的确切键。如何在java中实现?

【问题讨论】:

  • Map<String, Object> map = new HashMap<>(); 然后map.put(k, v); 你觉得合适吗?
  • 好的,谢谢。试试同样的方法..
  • 如果我理解正确,你是说你的键值可以是任何类型,所以你可以将它设置为对象类型,(另外,因为你没有指定值的数据类型所以如果您要在那里使用 int、String 或多种数据类型,您可以使用 Object 类型)。 Map<Object, Object> map = new HashMap<>();

标签: java parameters logic key-value


【解决方案1】:

你可以在你的方法中发送一个对象数组:

Object[] myObjects = new Object[2];
myObjects[0] = "This is a string";
myObjects[1] = 5;

myMethod(myObjects);


public void myMethod(Object[] myObjects){
    // DoSomethingOverHere
}

如果你只有字符串,你可以做同样的事情,但指定一个字符串数组而不是对象。如果您使用对象,请务必在使用前检查对象的实例。

【讨论】:

    【解决方案2】:

    我假设您要实现的是一种可以接受任何类型的参数并且仍然可以工作的方法。

    以下是我将使用的方法: 假设您想使用 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
    

    最后一个是数组,你可以操纵它的处理)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多