java枚举方面的问题,见问题补充

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java枚举方面的问题,见问题补充相关的知识,希望对你有一定的参考价值。

java枚举中,EnumSet类的copyOf等方法的定义是static <E extends Enum<E>> EnumSet<E> ,static <E extends Enum<E>>是返回值类型吗,如果是的话,应该怎么理解?

<E extends Enum<E>>代表类型的限定声明,限定了E只能是Enum<E>的子类,即只能继承自“枚举类”。
EnumSet<E>代表返回值的类型,复制并返回另一个EnumSet枚举数集。

import java.util.Arrays;
import java.util.EnumSet;

public class Test
static enum 果 苹果,梨,葡萄
static public void main(String 参数[])
果 a[]= 果.梨, 果.苹果;
EnumSet<果> s1,s2;
s1=EnumSet.copyOf(Arrays.asList(a));
s2=EnumSet.copyOf(Arrays.asList(果.values()));
System.out.println(s1);
System.out.println(s2);


=======
[苹果, 梨]
[苹果, 梨, 葡萄]
参考技术A <E extends Enum<E>>是限定返回值的类型

java编写一个webservice接口,接口中的方法参数应该是啥,返回值呢?(急)要求见补充,谢谢啦

内部业务逻辑不用考虑,我没写过Webservice,完全不知道怎么写额。现在项目分配给我写这个接口

private JaxWsProxyFactoryBean getProxyFactory(Class<?> clazz,String address)
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.setServiceClass(clazz);
factory.setAddress(address);
return factory;


public void save()
JaxWsProxyFactoryBean factory = getProxyFactory(ProgramVerWebService.class, PROGRAM_VER_WEB_SERVICE_ADDRESS);
ProgramVerWebService service = (ProgramVerWebService)factory.create();
String result = service.getEmpByAccount("abc");

System.out.println(result);

本地建立接口,如ProgramVerWebService,然后建立factory调用即可,这里用的是cxf
也可以用axis2通过解析wsdl文件来直接生成本地代码,调用如下:
ProgramVerWebServiceImplServiceStub stub = new ProgramVerWebServiceImplServiceStub();
GetEmpByAccountE e = new GetEmpByAccountE();
GetEmpByAccount request = new GetEmpByAccount();

request.setArg0("abc");

e.setGetEmpByAccount(request);

String result = stub.getEmpByAccount(e).getGetEmpByAccountResponse().get_return();
System.out.println(result);追问

能给出完整代码吗,业务逻辑可忽略,我没写过webservice,完全不懂额

参考技术A 直接用soupUI测试,如果好用,就是客户端的问题,服务端不用理会。 参考技术B 补充在哪里?追问

补充了几张图片,是对这个接口的要求,看不见吗

参考技术C 如果你用的是Idea开发,我可以帮你。 参考技术D private JaxWsProxyFactoryBean getProxyFactory(Class<?> clazz,String address)
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.setServiceClass(clazz);
factory.setAddress(address);
return factory;

public void save()
JaxWsProxyFactoryBean factory = getProxyFactory(ProgramVerWebService.class, PROGRAM_VER_WEB_SERVICE_ADDRESS);
ProgramVerWebService service = (ProgramVerWebService)factory.create();
String result = service.getEmpByAccount("abc");
System.out.println(result);

本地建立接口,如ProgramVerWebService,然后建立factory调用即可,这里用的是cxf
也可以用axis2通过解析wsdl文件来直接生成本地代码,调用如下:
ProgramVerWebServiceImplServiceStub stub = new ProgramVerWebServiceImplServiceStub();
GetEmpByAccountE e = new GetEmpByAccountE();
GetEmpByAccount request = new GetEmpByAccount();
request.setArg0("abc");
e.setGetEmpByAccount(request);
String result = stub.getEmpByAccount(e).getGetEmpByAccountResponse().get_return();
System.out.println(result);

以上是关于java枚举方面的问题,见问题补充的主要内容,如果未能解决你的问题,请参考以下文章

Scala模式匹配Java枚举值

java 枚举

关于java枚举类的一个问题

Effective Java 第三版——38. 使用接口模拟可扩展的枚举

关于java枚举enum的问题,请指教?

java 枚举数组的问题