- 浏览: 37825 次
- 性别:
- 来自: 重庆
最新评论
有一个要求就是获得范型中类型;想了很多招都不能实现。
但有框架确实能够达到这个要求,他们是怎么去实现的呢?
import java.lang.reflect.Method;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
public class TestFanXing {
public static void main(String[] args) throws Exception{
Map<String, Date> map=new HashMap<String,Date>();
Method m= TestFanXing.class.getMethod("apply", Map.class);
Type[] t=m.getGenericParameterTypes();
ParameterizedType pt=(ParameterizedType)t[0];
System.out.println(pt.getRawType());
System.out.println(pt.getActualTypeArguments()[0]);
System.out.println(pt.getActualTypeArguments()[1]);
}
public static void apply(Map<String, Date> t){}
}
//---------------------------------结果:
interface java.util.Map
class java.lang.String
class java.util.Date
但有框架确实能够达到这个要求,他们是怎么去实现的呢?
import java.lang.reflect.Method;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
public class TestFanXing {
public static void main(String[] args) throws Exception{
Map<String, Date> map=new HashMap<String,Date>();
Method m= TestFanXing.class.getMethod("apply", Map.class);
Type[] t=m.getGenericParameterTypes();
ParameterizedType pt=(ParameterizedType)t[0];
System.out.println(pt.getRawType());
System.out.println(pt.getActualTypeArguments()[0]);
System.out.println(pt.getActualTypeArguments()[1]);
}
public static void apply(Map<String, Date> t){}
}
//---------------------------------结果:
interface java.util.Map
class java.lang.String
class java.util.Date
发表评论
-
对象的字段以键值对的形式返回
2011-10-11 21:22 1995但是,如果双向关联都设置成fetch = FetchType. ... -
得到本机的ip地址
2011-06-25 13:12 1149public static String getL ... -
javascript检验xml是否正确
2011-01-04 20:07 1039<script type="text/java ... -
图片防止盗链 转转kaka100
2011-01-03 16:11 647转。。转。。 -
新发现----享元模式
2011-01-02 23:54 717java1.5新知识: public class A { ... -
得到汉字的拼音
2011-01-02 15:17 931package cn.java; public class ... -
设置图片等比例缩小
2011-01-02 15:04 791//----------------------------- ... -
网页中一些特殊字符的转换,如[image]
2011-01-02 14:51 982package com.email.util; public ... -
BigDecimal 的学习
2010-12-31 00:23 724package com.util; import java. ... -
人民币
2010-12-31 00:09 810package com.util; public class ... -
单例模式 转转转
2010-12-30 19:49 750单例模式的七种写法 文章分类:Java编程 转载请注明出处: ... -
文件压缩
2010-12-30 13:17 661package com.email.util; import ... -
Cookie的一些操作
2010-12-30 13:15 671package com.email.util; import ... -
servlet处理参数的一些操作
2010-12-30 13:09 602import javax.servlet.http.HttpS ... -
字符串与时间格式的相互操作
2010-12-30 13:06 829import java.text.ParseException ... -
文件的相关操作 转转转
2010-12-30 13:02 752package com.Utils; import java ... -
oracle 连接... 修改.....查询
2010-12-30 12:49 603package com.Utils; import java. ... -
tools----java---->mail
2010-12-20 20:28 589package cn.java; import java.u ... -
工具类-------字符串转成时间格式
2010-12-20 20:14 651package cn.java; import java.t ... -
处理中文乱码(新,比较万能)(encodeURI)
2010-12-19 01:04 1131$.ajax({ type:"GET ...
相关推荐
Map<String,Object> map = new HashMap<>(); map.put("name", "山东"); map.put("value", 200); map.put("id", 1); Map<String,Object> map1 = new HashMap<>(); map1.put("name", "江苏"); map1....
List<Map<String,Object>> listMap1 = new LinkedList<Map<String,Object>>(); // ... Set<Map> setMap = new HashSet<Map>(); for(Map<String,Object> map1 : listMap1){ if(setMap.add(map1)){ listMap2.add(map...
要在项目中使用SnakeYAML,需要添加Maven依赖项,例如:<dependency> <groupId>org.yaml</groupId> <artifactId>snakeyaml</artifactId> <version>1.25</version></dependency> 入口点 Yaml类是SnakeYAML库的入口点...
对于Map类型的注入,使用`<property>`标签内的`<map>`标签,每个键值对由`<entry>`标签表示,其中`key`属性是键,`value`属性或子`<value>`标签是值: ```xml <!--private Map<String, String> mapValue;--> ...
Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并 Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并
public SortValueComparator(Map<String,Date> map) { this.map = map; } public int compare(String o1, String o2) { boolean flag = map.get(o1).before(map.get(o2)); if(flag){ return 1; }else{ ...
public List<Map<String, Object>> selectDataFromTable(String tableName) { String sql = "SELECT * FROM " + tableName; return jdbcTemplate.queryForList(sql); } } ``` 现在,你可以在Spring MVC的...
Map<String, Object> model = new HashMap<>(); model.put("newsItems", newsItems); StringWriter writer = new StringWriter(); template.process(model, writer); return writer.toString(); } } ``` ...
05.zip<br>Getting the complete information about DLL/Exe module<br>得到DLL/EXE模块的编译信息(5KB)<END><br>6,06.zip<br>Using one extension DLL in another<br>在DLL中使用扩充的DLL(4KB)<END><br>7,...
Map<String, Object> data = new HashMap<>(); data.put("reportDate", new Date()); List<Item> items = ...; // 初始化items列表 data.put("items", items); WordExporter exporter = new WordExporter(); ...
public String dwrtest(String a, String b, List<String> s,Map<String,String>map) { StringBuilder strbui = new StringBuilder(); strbui.append(a).append(",").append(b).append(","); for (String str ...
Map<String, String> contentidAndContentTypeMap = new HashMap<>(); Map<String, String> contentIdAndDurationMap = new HashMap<>(); for (ContentToExcel contentToExcel : cte) { ...
- **实现**: 在 Freemarker 模板中使用 `<#list>` 或 `<#foreach>` 循环来生成表格行。 - 示例代码: ```html <table> <thead> <tr> <th>ID</th> <th>Name</th> <th>Email</th> </tr> </thead> <tbody> ...
public Map<String, String> getFileHeaders() { return fileHeaders; } public String execute() throws IOException { String imagePath = ServletActionContext.getServletContext().getRealPath("/img"); ...
public static <T> T mapToObject(Map<String, Object> map, Class<T> clazz) { T obj = null; try { obj = clazz.newInstance(); for (Field field : clazz.getDeclaredFields()) { String fieldName = field....
Map<String, Object> model = new HashMap<>(); model.put("title", "欢迎页"); return new ModelAndView("index", model); } } ``` 在这个例子中,`index`方法将返回一个名为`index.ftl`的模板文件,该文件...
Map<String, Object> map = mapper.readValue(jsonString, new TypeReference<Map<String, Object>>(){}); ``` 7. **JSON树模型** Jackson还提供了`JsonNode`树模型,可以方便地对JSON进行遍历和操作: ```java...
Map<String, String> map = new HashMap<>(); map.put("columnName", columnName); map.put("columnTypeName", columnTypeName); columns.add(map); } // 转换结果集 List<Map<String, Object>> result = ...
Map<String, Object> dataModel = new HashMap<>(); dataModel.put("title", "自动生成的标题"); dataModel.put("content", "这是自动生成的内容"); dataModel.put("date", new Date()); // 加载模板 ...