java - Java动态方法创建
问题描述
我有以下 JSON 格式的信息。
[
{
"name": "A",
"value": {
"isValueApplicable": "true"
}
},
{
"name": "B",
"parameters": [
{
"name": "x",
"isMandatory": "true"
},
{
"name": "y",
"isMandatory": "true"
}
]
},
{
"name": "C",
"parameters": [
{
"name": "x",
"isMandatory": "true"
},
{
"name": "y",
"isMandatory": "false"
}
]
}
]
我想要的是,使用以下方法创建一个类:
public Structure getA (String value) {
}
public Structure getB (String xValue, String yValue) {
}
public Structure getC (String xValue) {
}
public Structure getC (String xValue, String yValue) {
}
这里重要的部分是,这些方法应该根据 JSON 中给出的信息动态创建。因此,对于 A 只有值适用。对于 B,需要值 x 和 y。但是对于 C,只有 x 值是强制性的,用户可以为 y 提供值,因此有两种不同的方法。
问:在 Java 中是否可以在读取 JSON 后在编译时生成方法,例如如果参数是强制性的,我将创建具有那么多参数的方法。如果该值不适用,那么我将创建不带任何参数的方法。
解决方案
是的,它可以使用Reflection in Java
或者您可以使用javaassit
和cglib
推荐阅读
- ios - 在侦听器不断触发后,Firestore 无法获取完整文档
- java - Spring RestAPI 的 AJAX POST 方法不起作用
- json - 基于 json 遍历结构数组导致预览失败
- android - 应用内计费:我们可以在应用内动态创建订阅吗?
- gradle - 使用 Gradle 在插件中配置 Zip/Copy 任务
- c++ - 为什么错误一直返回“变量的类型不完整”?
- linux - umask 值为 457 时,它应为 w, x, - 210 (666-457),但我将其视为 w,w,-..(220)。这是为什么?
- python - txt文件转换成数据框
- java - 为什么匿名类在 Java 中不能有静态成员(最终成员除外)?
- react-hooks - 优化自定义 React Hooks - 数据获取