如何在ColdFusion中创建通用Java对象

如何在ColdFusion中创建通用Java对象,java,generics,coldfusion,Java,Generics,Coldfusion,我正在尝试使用Elasticsearch的JavaAPI 我正在努力创造一个新的世界 我得到了错误 找不到接受类型为(java.util.ArrayList)的参数的类org.elasticsearch.client.RestClientBuilder的构造函数 我假设这是因为我需要创建ArrayList作为 java.util.ArrayList<org.elasticsearch.client.Node> java.util.ArrayList 但是这个 NodeList=c

我正在尝试使用Elasticsearch的JavaAPI

我正在努力创造一个新的世界

我得到了错误

找不到接受类型为(java.util.ArrayList)的参数的类org.elasticsearch.client.RestClientBuilder的构造函数

我假设这是因为我需要创建ArrayList作为

java.util.ArrayList<org.elasticsearch.client.Node>
java.util.ArrayList
但是这个

NodeList=createObject("java", "java.util.ArrayList<org.elasticsearch.client.Node>").init()
NodeList=createObject(“java”,“java.util.ArrayList”).init()
不起作用


我是这样尝试的,因为使用这种方法似乎不起作用。这可能是因为与varargs和ColdFusion不兼容?

我不知道API,但该构造函数看起来不公开,因此错误可能意味着它无法访问。您是如何尝试使用builder()的?我记得看到一些关于CF使用数组的内容。也许可以尝试构建一个常规CF数组,并用节点对象填充它。然后javacast将其转换为java数组
RestClient.builder(javacast(“org.elasticsearch.client.Node[]”,yourCFArrayVariable))
。。。fwiw,通常CF自动处理泛型。假设构造函数是公共的,您应该能够传入一个节点对象的CF数组(这是一个java.util.List)并让它在gate-AFAIK之外工作。您需要详细说明“RestClient.builder()方法似乎不起作用。”并解释您的最终目标是什么。您是否尝试让api在java应用程序中工作?@Ageax您是正确的问题是构造函数不是公共的。让我尝试这条路线的错误,我在这里发布了一个可能的答案。如果你对这个问题有任何意见,请不要这样做。我能够重现另一个错误。这是所有事情的不同之处。。奇怪的
NodeList=createObject("java", "java.util.ArrayList<org.elasticsearch.client.Node>").init()