8 changed files with 272 additions and 6 deletions
@ -0,0 +1,113 @@ |
|||
package com.zc.business.enums; |
|||
|
|||
import org.junit.Test; |
|||
|
|||
|
|||
import java.util.HashMap; |
|||
import java.util.Map; |
|||
|
|||
/** |
|||
* @author 王思祥 |
|||
* @ClassName ValueConverter |
|||
*/ |
|||
//感知事件与交通主子类转换
|
|||
public class ValueConverter { |
|||
|
|||
//懒加载类来实现延迟初始化
|
|||
private static class ValueMappingHolder { |
|||
|
|||
// 静态映射,用于存储转换关系 事件主类转换
|
|||
private static final Map<Integer, Integer> valueMappingHost = new HashMap<>(); |
|||
// 静态映射,用于存储转换关系 事件子类转换
|
|||
private static final Map<String, String> valueMappingSon = new HashMap<>(); |
|||
// 静态映射,用于存储转换关系 事件源转换
|
|||
private static final Map<Integer, Integer> valueMappingSource = new HashMap<>(); |
|||
static { |
|||
valueMappingSource.put(1,5); |
|||
valueMappingSource.put(4,7); |
|||
valueMappingSource.put(7,7); |
|||
valueMappingSource.put(2,7); |
|||
valueMappingSource.put(3,7); |
|||
valueMappingSource.put(5,7); |
|||
valueMappingSource.put(6,7); |
|||
valueMappingHost.put(1, 4); |
|||
valueMappingHost.put(2, 5); |
|||
valueMappingHost.put(3, 5); |
|||
valueMappingHost.put(4, 2); |
|||
valueMappingHost.put(5, 11); |
|||
valueMappingHost.put(6, 6); |
|||
valueMappingHost.put(7, 6); |
|||
valueMappingHost.put(8, 10); |
|||
valueMappingHost.put(9, 1); |
|||
valueMappingSon.put("1-1", "4-1"); |
|||
valueMappingSon.put("1-2", "4-1"); |
|||
valueMappingSon.put("2-1", "5-1"); |
|||
valueMappingSon.put("2-2", "5-1"); |
|||
valueMappingSon.put("3-1", "5-3"); |
|||
valueMappingSon.put("3-2", "5-2"); |
|||
valueMappingSon.put("3-3", "5-2"); |
|||
valueMappingSon.put("4-1", "2-1"); |
|||
valueMappingSon.put("4-2", "2-1"); |
|||
valueMappingSon.put("4-3", "2-1"); |
|||
valueMappingSon.put("4-4", "2-1"); |
|||
valueMappingSon.put("4-5", "2-1"); |
|||
valueMappingSon.put("4-6", "2-1"); |
|||
valueMappingSon.put("4-7", "2-1"); |
|||
valueMappingSon.put("4-8", "2-1"); |
|||
valueMappingSon.put("4-9", "2-1"); |
|||
valueMappingSon.put("5-1", "11-1"); |
|||
valueMappingSon.put("6-1", "6-1"); |
|||
valueMappingSon.put("7-1", "6-3"); |
|||
valueMappingSon.put("8-1", "10-1"); |
|||
valueMappingSon.put("8-2", "10-9"); |
|||
valueMappingSon.put("8-3", "10-4"); |
|||
valueMappingSon.put("8-4", "10-3"); |
|||
valueMappingSon.put("8-5", "10-9"); |
|||
valueMappingSon.put("8-6", "10-8"); |
|||
valueMappingSon.put("8-7", "10-9"); |
|||
valueMappingSon.put("8-8", "10-7"); |
|||
valueMappingSon.put("8-9", "10-9"); |
|||
valueMappingSon.put("8-10", "10-3"); |
|||
valueMappingSon.put("9-1", "1-3"); |
|||
valueMappingSon.put("9-2", "1-3"); |
|||
valueMappingSon.put("9-3", "1-3"); |
|||
} |
|||
} |
|||
|
|||
// 提供一个静态方法来获取映射关系
|
|||
public static Map<Integer, Integer> getValueMappingHost() { |
|||
return ValueMappingHolder.valueMappingHost; |
|||
} |
|||
public static Map<String, String> getValueMappingSon() { |
|||
return ValueMappingHolder.valueMappingSon; |
|||
} |
|||
public static Map<Integer, Integer> getValueMappingSource() { |
|||
return ValueMappingHolder.valueMappingSource; |
|||
} |
|||
/** |
|||
* 根据输入值返回转换后的值 |
|||
* 如果输入值不在映射中,则返回输入值本身 |
|||
* @param inputValue 输入值 |
|||
* @return 转换后的值或输入值本身 |
|||
*/ |
|||
public static int convertValueHost(int inputValue) { |
|||
Map<Integer, Integer> mapping = getValueMappingHost(); |
|||
return mapping.getOrDefault(inputValue, inputValue); |
|||
} |
|||
public static String convertValueSon(String inputValue) { |
|||
Map<String, String> mapping = getValueMappingSon(); |
|||
return mapping.getOrDefault(inputValue, inputValue); |
|||
} |
|||
public static int convertValueSource(int inputValue) { |
|||
Map<Integer, Integer> mapping = getValueMappingSource(); |
|||
return mapping.getOrDefault(inputValue, inputValue); |
|||
} |
|||
//测试
|
|||
// @Test
|
|||
// public void text(){
|
|||
// String i="1-1";
|
|||
// String i1 = ValueConverter.convertValueSon(i);
|
|||
// System.out.println(i1+"--------------");
|
|||
// }
|
|||
|
|||
} |
Loading…
Reference in new issue