创建枚举类
package javaEnum;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
//import java.util.HashMap;
//import java.util.Map;
public enum payType implements PBCManager{
ABC(1,"AgrculturalBankOfChina","农业银行","www.abchina.com"),
BOC(2,"BankOfChian","中国银行","www.boc.cn"),
ICBC(3,"IndAndCommBankOfChina","工商银行","www.icbc.com.cn"),
CCB(4,"ChinaConsBank","建设银行","www.ccb.com"),
CITIC(5,"ChinaIntTruAndInvCor","中信银行","www.citicbank.com"),
HXB(6,"HuaxiaBankCo.Ltd","华夏银行","www.hxb.com.cn");
private final int code;
private final String Engname;
private String CHNname;
private final String url;
private payType(int code,String Engname, String CHNname,String url) {
this.code = code;
this.Engname = Engname;
this.CHNname = CHNname;
this.url = url;
}
@Override
public int getCode() {
return this.code;
}
@Override
public String getCHNname() {
return this.CHNname;
}
@Override
public String getUrl() {
return this.url;
}
@Override
public String getEngName() {
return this.Engname;
}
//getENGname && Url
public static String getDescriptionByName(String CHNname) {
for(payType value : payType.values()) {
if(value.getCHNname().equals(CHNname)) {
return value.getEngName() +":"+ value.getUrl();
}
}
getAllBank(CHNname);
//错误
return ERCode.StrERROR.Msg();
}
//getUrl
public static String getUrlByCode(int code) {
try {
if(!(0< code && code <=6)) {
throw new ArrayIndexOutOfBoundsException();
}
}catch(Exception e) {
e.printStackTrace();
}
switch(code) {
case 1:
return payType.ABC.url ;
case 2:
return BOC.CHNname+ BOC.url;
case 3:
return ICBC.CHNname+ ICBC.url;
case 4:
return CCB.CHNname+ CCB.url;
case 5:
return CITIC.CHNname+ CITIC.url;
default:
return ERCode.CodERROR.toString();
}
}
// getallbank
public static void getAllBank(String CHNname) {
ArrayList<String> allbank = new ArrayList<>();
for(payType key : payType.values()) {
allbank.add(key.getCHNname());
}
try {
if(!allbank.contains(CHNname)) {
throw new IllegalArgumentException();
}
}catch(Exception e) {
e.printStackTrace();
}
// 传出时间&&日志
Logger logger = Logger.getLogger(payType.class.getName());
Date date = new Date();
SimpleDateFormat formate = new SimpleDateFormat("yyyy-MM-dd");
String time = formate.format(date);
// logger.log(Level.INFO,"传入参数不正确:"+CHNname+time);
logger.logp(Level.INFO, time, CHNname, ERCode.StrERROR.Msg());
System.out.println("Bank:" + allbank);
}
}
package javaEnum;
ERROR CODE 枚举
public enum ERCode {
StrERROR("传入参数非法"),
CodERROR("传入code非法");
private final String msg;
private ERCode(String msg) {
this.msg = msg;
}
public String Msg() {
return this.msg;
}
public String toString() {
return this.msg;
}
}
创建接口,并被枚举类实现
package javaEnum;
public interface PBCManager {
public int getCode();
public String getEngName();
public String getCHNname();
public String getUrl();
// public String setCHNname(String name);
// public String setEngName(String name);
// public String getUrlByCode(int code);
}
创建测试类
package javaEnum;
public class Bank {
public static void main(String[] args) {
String args1 = payType.getDescriptionByName("工商");
String args2 = payType.getUrlByCode(1);
String args3 = payType.CCB.getCHNname();
System.out.println(args1);
System.out.println(args2);
System.out.println(args3);
}
}
Map集合遍历所有并输出
package javaEnum;
import java.util.HashMap;
import java.util.Map;
//import java.util.Map.Entry;
import java.util.Set;
public class Card {
public static void getCardAll() {
Map<String,String> cardmap = new HashMap<>();
cardmap.put(payType.ABC.getCHNname(), payType.ABC.getUrl());
cardmap.put(payType.BOC.getCHNname(), payType.BOC.getUrl());
cardmap.put(payType.ICBC.getCHNname(), payType.ICBC.getUrl());
cardmap.put(payType.CCB.getCHNname(), payType.CCB.getUrl());
cardmap.put(payType.CITIC.getCHNname(), payType.CITIC.getUrl());
// Set<Entry<String, String>> cardset = cardmap.entrySet();
Set<?> cardset = cardmap.entrySet();
for(Object o : cardset) {
System.out.println(o);
}
}
}