Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Java Nashorn泛型类声明_Javascript_Java_Generics_Nashorn - Fatal编程技术网

Javascript Java Nashorn泛型类声明

Javascript Java Nashorn泛型类声明,javascript,java,generics,nashorn,Javascript,Java,Generics,Nashorn,有人能帮我在JavaNashorn HttpEntity中声明这样的类吗。下面是我正在尝试运行的示例脚本 --这是我在代码中的某个地方的声明-- --这是我正在运行的一个示例函数-- 函数init(){ var headers=新的HttpHeaders(); setAccept(Arrays.asList(MediaType.APPLICATION_JSON)); 标题。添加(“用户名”,用户名); 标题。添加(“密码”,密码); var实体=新的HttpEntity(标题); //更多代码。

有人能帮我在JavaNashorn HttpEntity中声明这样的类吗。下面是我正在尝试运行的示例脚本

--这是我在代码中的某个地方的声明--

--这是我正在运行的一个示例函数--

函数init(){
var headers=新的HttpHeaders();
setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
标题。添加(“用户名”,用户名);
标题。添加(“密码”,密码);
var实体=新的HttpEntity(标题);
//更多代码。。。
}
--然后我得到以下错误--

失败:testFinalValidate
:73 TypeError:无法使用传递的参数创建构造函数org.springframework.http.HttpEntity的新对象;它们与它的任何方法签名都不匹配。
位于jdk.nashorn.internal.runtime.ECMAErrors.error(ECMAErrors.java:57)
位于jdk.nashorn.internal.runtime.ECMAErrors.typeError(ECMAErrors.java:213)
位于jdk.nashorn.internal.runtime.ECMAErrors.typeError(ECMAErrors.java:185)
位于jdk.nashorn.internal.runtime.ECMAErrors.typeError(ECMAErrors.java:172)
位于jdk.nashorn.internal.runtime.linker.NashornStaticClassLinker.checkNullConstructor(NashornStaticClassLinker.java:108)
位于jdk.nashorn.internal.runtime.linker.NashornStaticClassLinker.getGuardInvocation(NashornStaticClassLinker.java:96)
位于jdk.internal.dynalink.support.CompositeTypebasedGuardingDynamicScalt.getGuardedInvocation(CompositeTypebasedGuardingDynamicScalt.java:176)
位于jdk.internal.dynalink.support.compositeguardingdynamicsold.getGuardedInvocation(compositeguardingdynamicsold.java:124)
位于jdk.internal.dynalink.support.LinkerServiceSiml.GetGuardeInvocation(LinkerServiceSiml.java:154)
位于jdk.internal.dynalink.dynamicsold.relink(dynamicsold.java:253)
在jdk.nashorn.internal.scripts.Script$Recompilation$2$2171$^eval\.init(:73)
在jdk.nashorn.internal.scripts.Script$Recompilation$1$1772A$^eval\.finalValidate(:59)
位于jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:639)
位于jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:494)
位于jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:393)
位于jdk.nashorn.api.scripting.ScriptObjectMirror.call(ScriptObjectMirror.java:117)
位于com.bdo.icos.util.BaseTest.runScript(BaseTest.java:194)
位于com.bdo.icos.validation.SmartMoneyTest.testFinalValidate(SmartMoneyTest.java:130)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(未知源)
在sun.reflect.DelegatingMethodAccessorImpl.invoke处(未知源)
位于java.lang.reflect.Method.invoke(未知源)
位于org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:86)
位于org.testng.internal.InvokeMethodRunnable.runOne(InvokeMethodRunnable.java:54)
位于org.testng.internal.InvokeMethodRunnable.run(InvokeMethodRunnable.java:44)
位于java.util.concurrent.Executors$RunnableAdapter.call(未知源)
位于java.util.concurrent.FutureTask.run(未知源)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(未知源)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(未知源)
位于java.lang.Thread.run(未知源)

请注意,如果将代码转换为等效的Java语法,它将成功编译并运行。

类org.springframework.http.HttpEntity是否具有接受HttpHeader的正确公共构造函数?请注意,只有公共构造函数和方法可以从脚本调用。受保护/包私有/私有成员不可访问

还有这个语法->

var entity = new HttpEntity<String>(headers);
var实体=新的HttpEntity(标题);

无法工作(似乎是从java代码中剪切粘贴)

您好,谢谢您的回答。是的,我正在使用正确的公共构造函数。作为一种解决方法,我在代码中使用以下内容,而不是“var entity=new HttpEntity(headers)”,因为它仍然有效。然而,这是否意味着“new HttpEntity()”的字符串部分没有等效的语法。
    function init(){
            var headers = new HttpHeaders();
            headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
            headers.add("username", username);
            headers.add("password", password);

            var entity = new HttpEntity<String>(headers);

            // more code... 
        }
FAILED: testFinalValidate
<eval>:73 TypeError: Can not create new object with constructor org.springframework.http.HttpEntity with the passed arguments; they do not match any of its method signatures.
at jdk.nashorn.internal.runtime.ECMAErrors.error(ECMAErrors.java:57)
at jdk.nashorn.internal.runtime.ECMAErrors.typeError(ECMAErrors.java:213)
at jdk.nashorn.internal.runtime.ECMAErrors.typeError(ECMAErrors.java:185)
at jdk.nashorn.internal.runtime.ECMAErrors.typeError(ECMAErrors.java:172)
at jdk.nashorn.internal.runtime.linker.NashornStaticClassLinker.checkNullConstructor(NashornStaticClassLinker.java:108)
at jdk.nashorn.internal.runtime.linker.NashornStaticClassLinker.getGuardedInvocation(NashornStaticClassLinker.java:96)
at jdk.internal.dynalink.support.CompositeTypeBasedGuardingDynamicLinker.getGuardedInvocation(CompositeTypeBasedGuardingDynamicLinker.java:176)
at jdk.internal.dynalink.support.CompositeGuardingDynamicLinker.getGuardedInvocation(CompositeGuardingDynamicLinker.java:124)
at jdk.internal.dynalink.support.LinkerServicesImpl.getGuardedInvocation(LinkerServicesImpl.java:154)
at jdk.internal.dynalink.DynamicLinker.relink(DynamicLinker.java:253)
at jdk.nashorn.internal.scripts.Script$Recompilation$2$2171$\^eval\_.init(<eval>:73)
at jdk.nashorn.internal.scripts.Script$Recompilation$1$1772A$\^eval\_.finalValidate(<eval>:59)
at jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:639)
at jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:494)
at jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:393)
at jdk.nashorn.api.scripting.ScriptObjectMirror.call(ScriptObjectMirror.java:117)
at com.bdo.icos.util.BaseTest.runScript(BaseTest.java:194)
at com.bdo.icos.validation.SmartMoneyTest.testFinalValidate(SmartMoneyTest.java:130)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:86)
at org.testng.internal.InvokeMethodRunnable.runOne(InvokeMethodRunnable.java:54)
at org.testng.internal.InvokeMethodRunnable.run(InvokeMethodRunnable.java:44)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
var entity = new HttpEntity<String>(headers);