1、方法参数为泛型类型
private <T> List<T> changeDatas( List<DataInfo> dataes,Class<T> a) { List<T> ans = new ArrayList<T>(); try { if (!CollectionUtils.isEmpty(dataes)) { for (DataInfo _data : dataes) { T newD = a.newInstance(); BeanUtils.copyProperties(newD, _data); ans.add(newD); } } } catch (Exception e) { e.printStackTrace(); } return ans; }
2、自己写的一个关于序列化,反序列化,json转换的工具类,使用到泛型类型的例子
public class MockUtil { public static FitSdpShoppingDto morkShoppingDto(){ return MockUtil.deserializeObject("d:\\cache\\123123123.txt",FitSdpShoppingDto.class); } public static void morkCacheShoopingDto(FitSdpShoppingDto shoppingDto){ MockUtil.serializeObject(shoppingDto,"d:\\cache\\123123123.txt"); } /** * 读取文件 * @param fileName * @return */ public static String readFile(String fileName) { InputStream in; try { in = new FileInputStream(fileName); return IOUtils.toString(in, "GBK"); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } /** * 写入文件 * * @param fileName * @param contant */ public static void writeFile(String fileName, String contant) { PrintWriter out; try { out = new PrintWriter(new BufferedWriter(new FileWriter(fileName))); out.print(contant); out.close(); } catch (IOException e) { System.out.println("读写文件出现异常!"); } catch (Exception e) { System.out.println("出现异常"); } } public static void writeJsonToFile(String fileName, Object contant) { PrintWriter out; try { out = new PrintWriter(new BufferedWriter(new FileWriter(fileName))); out.print(toJsonStr(contant)); out.close(); } catch (IOException e) { System.out.println("读写文件出现异常!"); } catch (Exception e) { System.out.println("出现异常"); } } /** * 从json文件中解析json串并转换成java类型 * * @param name * @param clazz * @return */ public static <T> T createFromJsonFile(String name, TypeReference clazz) { try { String sqlFlie = readFile(name); String result = sqlFlie; if (StringUtils.isNotBlank(result)) { ObjectMapper objectMapper = JSONMapper.getInstance(); return (T) objectMapper.readValue(result, clazz); } return null; } catch (Exception ew) { ew.printStackTrace(); return null; } } /** * 从json文件中解析json串并转换成java类型 * * @param name * @param clazz * @return */ public static <T> T createFromJsonFile(String name, Class<T> clazz) { try { String sqlFlie = readFile(name); String result = sqlFlie; if (StringUtils.isNotBlank(result)) { ObjectMapper objectMapper = JSONMapper.getInstance(); return (T) objectMapper.readValue(result, clazz); } return null; } catch (Exception ew) { ew.printStackTrace(); return null; } } /** * 序列化对象保存到文件中. * * @param shoppingDto * @param name */ public static void serializeObject(Object shoppingDto, String name) { ObjectOutputStream oo; try { oo = new ObjectOutputStream(new FileOutputStream(new File(name))); oo.writeObject(shoppingDto); System.out.println("对象序列化成功!"); oo.close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * 从文件中反序列化对象. * * @param name * @param clazz * @return */ public static <T> T deserializeObject(String name, Class<T> clazz) { ObjectInputStream ois; try { ois = new ObjectInputStream(new FileInputStream(new File(name))); T person = (T) ois.readObject(); System.out.println("对象反序列化成功!"); return person; } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } /** * 解析对象为json串. * * @param obj * @return */ public static String toJsonStr(Object obj) { try { return JSONMapper.getInstance().writeValueAsString(obj); } catch (Exception e) { e.printStackTrace(); } return null; } /** * 解析json字符串为java对象. * * @param obj * @param clazz * @return */ public static <T> T parseJsonStr(String str, Class<T> clazz) { try { return (T) JSONMapper.getInstance().readValue(str, clazz); } catch (Exception e) { e.printStackTrace(); } return null; } /** * 解析json字符串为java对象. * * @param str * @param clazz * @return */ public static <T> T parseJsonStr(String str, TypeReference<T> clazz) { try { ObjectMapper objectMapper = JSONMapper.getInstance(); objectMapper.configure( JsonParser.Feature.ALLOW_UNQUOTED_CONTROL_CHARS, true); return objectMapper.readValue(str, clazz); } catch (Exception e) { e.printStackTrace(); } return null; } public static void main(String[] aegs) throws Exception { Long a = 1481694879609L; System.out.println(DateUtils.parseDate(a, "yyyy-MM-dd"));; // Date d1 = DateUtils.parseDate("2016-12-11"); // System.out.println(d1.getTime()); // // Date d2 = DateUtils.parseDate("2016-12-13"); // System.out.println(d2.getTime()); // String inputStr = readFile("d:\\zipstr.txt"); // String callRequestStr = ZipUnZipUtils.getInstance().unzipBase642String(inputStr,"UTF-8"); // System.out.println(callRequestStr); // System.out.println(System.currentTimeMillis()); // FlightSearchResult<FlightSearchFlightInfoDto> goFlightSearchResult2 = MockUtil // .createFromJsonFile( // "d:\\new_flight.txt", // new TypeReference<FlightSearchResult<FlightSearchFlightInfoDto>>() { // }); // String sqlFlie = readFile("d:\\老的查询往返程机票的东西.txt"); // ObjectMapper objectMapper = JSONMapper.getInstance(); // FlightSearchResult<FlightSearchFlightInfoDto> flightSearchResult = // objectMapper // .readValue( // sqlFlie, // new TypeReference<FlightSearchResult<FlightSearchFlightInfoDto>>() { // }); // List<FlightSearchFlightInfoDto> result = // flightSearchResult.getResults(); // for(FlightSearchFlightInfoDto d:result){ // writeFile("d:\\"+System.currentTimeMillis()+".txt", // getJsonStr(d)+"\n\n\n" ); // } } }
3、解析json的时候,可能出现解析不了报错的情况,使用下面的jsonmap配置:
ObjectMapper objectMapper = JSONMapper.getInstance(); objectMapper.configure( JsonParser.Feature.ALLOW_UNQUOTED_CONTROL_CHARS, true); return objectMapper.readValue(str, clazz);
相关推荐
- **Teacher** 类同样继承自 `Person` 类,可能包含更多的教师特定属性(虽然在提供的代码片段中没有出现)。 ##### 3.2 数据模型代码示例 - **Person.cs** ```csharp using System.Runtime.Serialization; ...
在深入探讨“VT泛型集合字典根据预设键获取值”的知识点之前,我们先来理解一下几个核心概念。此段代码主要涉及了C#语言中的泛型、反射(Reflection)、属性信息(PropertyInfo)以及如何操作集合。下面将详细解析...
本篇将详细介绍C#编程语言中几个核心概念的应用,包括继承、类、虚拟方法、委托、事件以及约束泛型等,并通过具体的代码示例来展示这些概念如何被用于实际编程中。 #### 类与继承 在面向对象编程中,类是基本的...
在"Sirkon Snippets"这个开源项目中,你可以发现以下几个关键知识点: 1. **泛型的基本概念**:泛型允许开发者定义可参数化的类型,这些参数可以在使用时指定。例如,你可以创建一个可以处理任何整数类型的切片函数...
在Scratchpad仓库中的Java代码片段,可能会涵盖以下几个方面的知识点: 1. **基础语法**:包括变量声明、数据类型(如整型、浮点型、字符串、布尔型)、流程控制(如if语句、for循环、while循环)、函数定义和调用...
在C#中,常用的知识点包括但不限于以下几个方面: 1. **基础语法**:C#是一种类型安全的面向对象的语言,它支持类、接口、结构等面向对象特性。基础语法包括变量声明、数据类型(如int、string、bool等)、运算符、...
描述中说这不是一个完整的C++工程,而是提供了一些可以学习和借鉴的代码片段。这可能意味着这些代码文件包含了一些特定功能的实现,例如通信协议、数据处理、控制算法等,它们可以作为开发人员理解和学习如何在类似...
在Java编程中,有几个核心知识点是所有开发者都应掌握的: 1. **基础语法**:Java的基础语法包括变量定义、数据类型(如整型、浮点型、字符串、布尔型等)、运算符(算术、比较、逻辑、位操作等)、流程控制(如if...
如果这是一个代码模板集合,那么它可能涵盖了不同场景下的常用代码片段,以帮助开发者提高效率。 在深入探讨这个主题时,我们可以关注以下几个知识点: 1. **源码分析**:源码是程序的原始形式,理解源码有助于...
这些代码片段通常包含了特定的功能实现,如数据处理、UI交互或者算法实现,能够显著提升开发效率。 在C#中,代码段可以是方法、函数、类或者是一些简短的语句集合,它们可以在不同的项目中复用,从而减少工作量。...
2. **代码复用**:泛型允许创建可重用的代码片段,如数据结构(如堆、队列和集合)和算法,这些代码可以应用于各种类型,无需重复编写针对特定类型的版本。 3. **简洁性**:通过引入泛型,可以消除因处理多种类型而...
Java核心技术包括但不限于以下几个方面: 1. **基础语法**:这是所有编程语言的基础,Java也不例外。它涉及到变量声明、数据类型(如整型、浮点型、字符型和布尔型)、运算符、流程控制(如if语句、switch语句、...
【模板代码Hsssssssss.zip】和【模板代码H.zip】这两个压缩包文件看起来是同一个项目的不同命名版本,它们可能包含了一些预先编写好的代码片段或者框架,供开发者在进行软件开发时作为基础来快速构建自己的应用。...
描述中的“这里有些小程序,对些小的程序赛还是有帮助的,大家看看吧”暗示这些程序可能是为编程竞赛或学校项目设计的,可能是用于解决特定问题的简洁代码片段。这些小程序可能涵盖了数据结构、算法、数学应用等方面...
C++的经典代码通常涉及以下几个方面: 1. 基础语法:C++的基础语法包括数据类型、变量声明、运算符、控制结构、函数等。新手入门者需要掌握这些基础知识,以便能够编写简单程序。 2. 指针与引用:C++中的指针和...
9. **版本控制**:为了便于协作和追踪代码变更,`Snippet-main`很可能使用了版本控制系统如Git,每个代码片段都有其版本历史记录,方便回溯和比较。 10. **文档和注释**:良好的代码片段应该包含清晰的文档和注释,...
这个收藏可能是一个程序员或教育者整理的精选Java代码片段,用于教学、研究或者个人项目参考。通过深入分析其中的代码,我们可以学习到Java语言的各种核心概念和技术。 在Java编程中,有几个重要的知识点是每个...
首先,我们来看一下提供的部分代码片段: ```csharp public static Process RunningInstance() { Process current = Process.GetCurrentProcess(); Process[] processes = Process.GetProcessesByName(current....
文件 "2011最新整理java经典代码.doc" 可能是一个Microsoft Word文档,里面包含了精心编排的Java代码片段和相关的解释说明。 在Java编程中,经典代码通常涉及以下几个核心概念: 1. **基础语法**:包括数据类型...
这些C#代码片段可能包括但不限于以下几个方面: 1. **异常处理**:如何优雅地捕获和处理运行时错误,以确保程序的稳定性和健壮性。 2. **LINQ查询**:利用C#的Language Integrated Query (LINQ)进行数据操作,提高...