首页 > 解决方案 > 如何调用作为字符串值给出的调用?

问题描述

我想知道如何实现以下目标:

在配置文件中给出: key = "order.getItems().get(0).getId().getItemId()"

我想在java代码中调用上面的调用,所以如果给我这个方法签名:

public String getKey(String key) {

   // where key = "order.getItems().get(0).getId().getItemId()"
   // invoke the key and get the value
   String val = order.getItems().get(0).getId().getItemId();
}

标签: java

解决方案


不,我不认为你可以做到这一点,但如果你使用new com.example.Order().getItems().get(0).getId().getItemId(),那可能是可能的。

或者使用一些反射编码,以下可能是可能的。

    public String getKey(Order order, String key) {
    
       // where key = "getItems().get(0).getId().getItemId()"
       // do some reflect coding here

       String val = order.getItems().get(0).getId().getItemId();
    }

推荐阅读