阅读更多

4顶
0踩

编程语言

原创新闻 Transmorph 2.0.0发布,一个对象转换框架

2009-02-10 11:47 by 副主编 zly06 评论(3) 有4268人浏览

Transmorph 是一个新的免费Java库(Apache 2 License),用于将Java对象从一种类型转换到另一种类型。

Transmorph的优势:

  • 支持转换为原始和对象
  • 支持转换为多维数组
  • 支持转换为参数的集合和类型
  • JDK 1.4和JDK 1.5 的jars
  • 没有依赖
  • 轻松地添加更多的转换器
  • 在使用modifiers之后,对象仍然可以被修改
  • 可以轻松的转换为特定的类型
  • 易于使用

 

Transmorph converter = new Transmorph(ConverterTest.class
                .getClassLoader(), new DefaultConverters());
        
// int[][] => String[][]
int[][] arrayOfArrayOfInts = new int[][] { { 11, 12, 13 },  { 21, 22, 23 }, { 31 } };
String[][] arrayOfArrayOfStrings = (String[][]) converter.convert(
                arrayOfArrayOfInts, (new String[0][0]).getClass()); 

// Map[String, String[]] => Map<String,List><String>>
Map map = new HashMap();
map.put("key1", new String[] { "value1-1", "value1-2" });
map.put("key2", new String[] { "value2-1", "value2-2" });
map.put("key3", null);
map.put("key4", new String[] { null, null });
map.put(null, new String[] { "value5-1", "value5-2" });
Map<String, List><String>> converted = (Map<String, List><String>>) converter
                .convert(map,
                        "Ljava.util.Map<Ljava.lang.String;Ljava.util.List><Ljava.lang.String;>;>;");

// int[] => Set<Integer> (ArrayToSetConverter)
int[] arrayOfInts = new int[] { 0, 1, 2, 3, 4, 5 };
Set<Integer> setOfInts = (Set<Integer>) converter.convert(arrayOfInts,
				Set.class, new Class[] { Integer.class });



查看更多示例:http://transmorph.sourceforge.net

2.0.0版的新功能:

  • 支持dotted样式(Ljava.util.Map<Ljava.lang.String;Ljava.util.List><Ljava.lang.String;>;>;)
  • 新的转换情况:包含了一批创建对象,用于支持数据对象的双定向关系;
  • 包含用于调试的转换器
  • 新转换器(BeanToBean, EnumToEnum, ImmutableIdentityConverter, StringToQName, StringToTimeZone)
  • 添加了modifier的概念,用于转换后:CanonicalizeFile, LowerCaseString, ResolveFile, TrimString, UppercaseString
  • 许多转换器的改进

 

 

来自: theserverside
4
0
评论 共 3 条 请登录后发表评论
3 楼 a372048518 2012-05-08 17:32
好东东!!
2 楼 Snow_Young 2009-02-11 09:36
第一不知效率如何,第二貌似这种地方用的还是比较少的吧,而且不是必须的。
1 楼 AllenZhang 2009-02-11 09:31
有应用场景?

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • WriteYourOwn64BitOperatingSystem:自制的最小操作系统

    WriteYourOwn64BitOperatingSystem 自制的最小操作系统 这是在的视频系列之后的内容。 档案清单 . ├── buildenv │   └── Dockerfile ├── Makefile ├── src │   └── impl │   └── x86_64 │   └── boot │   ├── header.asm │   └── main.asm └── targets └── x86_64 ├── iso │   └── boot │   └── grub │   └── grub.cfg └── linker.ld 10 directories, 6 files

  • Write Your Own Operating System Tutorial(7)

    Lesson 7: Start Saying Goodbye To BIOSNow that we have a boot loader that will load our operating system, and thus can make our operating system larger than one sector, we can now begin to add some

  • Write Your Own Operating System Tutorial(6) (转)

    Write Your Own Operating System Tutorial(6) (转)[@more@]Lesson 6: Boot Loader Everything we’ve done so far has bee...

  • Write Your Own Operating System Tutorial(中文版) 简介

    简介这份教程将告诉你如何开始着手写一个你自己的操作系统。它将向你展示一个应该如何开始做这些事情的方法。这份教程并不试图解释操作系统的每个方面,也不一定使用最快,最好的方法或者是技巧。所有的源代码都以可读性为中心,没有任何的优化。我假定这本书的读者有一个符合标准“PC architecture”,并且带有Intel x86(或其兼容)处理器的计算机。 后面的课程可能会要求有个IA-32 ar

  • Write Your Own Operating System Tutorial(中文版) - 简介

    操作系统实作入门首先说说我们用到的工具。     既然要写操作系统,必不可少的就是需要汇编语言的编译器。如果你一时找不到tasm,masm等年头已久的东西,你可以试试nasm(netwide assembler),这是一个开源软件,你可以在http://sourceforge.net/projects/nasm下载到它。    另外,如果你不想一次又一次的重启来调试你的程序的话,你可能需要一个模拟

  • 84PHP开源框架 v2.0.0

    84PHP是一套完全遵守APACHE开源协议的便捷PHP框架,独特的模块化设计,使得框架简洁易懂。 一行代码即可完成在线支付、发送短信、分页等功能,前所未有的简单和高效! 本框架的入门

  • Scrapy Web爬虫框架 v2.0.0

    Scrapy 是一套基于基于Twisted的异步处理框架,纯python实现的爬虫框架,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常之方便。

  • ionic HTML5 移动应用框架 v2.0.0 rc

    Ionic 是一个神奇的框架和强大前端开源系统,使用先进的 web 技术比如 CSS、HTML 和 JS 来创建令人惊叹的手机应用。它已经定制了在所有手机设备上的快速操作,并且确保简单的功能和大量的手机组件。 您可以通过一个...

  • ionic HTML5 移动应用框架 v2.0.0 rc5

    Ionic 是一个神奇的框架和强大前端开源系统,使用先进的 web 技术比如 CSS、HTML 和 JS 来创建令人惊叹的手机应用。它已经定制了在所有手机设备上的快速操作,并且确保简单的功能和大量的手机组件。 您可以通过一个...

  • ionic HTML5 移动应用框架 v2.0.0 rc6

    Ionic 是一个神奇的框架和强大前端开源系统,使用先进的 web 技术比如 CSS、HTML 和 JS 来创建令人惊叹的手机应用。它已经定制了在所有手机设备上的快速操作,并且确保简单的功能和大量的手机组件。 您可以通过一个...

  • 翻译windows internals 第12章文件系统

    UDF The Windows UDF file system implementation is OSTA (Optical Storage Technology Association)UDF-compliant. (UDF is a subset of the ISO-13346 format with extensions for formats such as CD-R and DVD-

  • Write Your Own Operating System Tutorial(中文版) - Lesson 6: Boot Loader

     Lesson 6: Boot Loader    到现在为止,我们所做的都被限制在引导扇区里面。如果我们的操作系统只能容纳在一个扇区里,那它绝对大不了。我们需要有个方法来拓展。我们将通过写一个程序来读取并且运行一个可执行文件,以达到这个目标。这个程序称为boot loader。我们希望读取的那个程序的大小可以随我们的希望而定,因为它不再受一个扇区大小的限制了。这将比我们已经完成的工作都要难。

  • Write your own operating system Day(1)

    工具准备: VirtualBox.exe是一个免费的轻巧的虚拟机 Bz.exe是二进制编辑器 NASM则是用来编译汇编语言的,具体使用方法自行百度 HZK16.fnt 中文GB2312的二进制点阵文件 QEMU软盘模拟器加载BIOS程序到时候会用到 开发平台:windows 编写语言:C和 汇编 操作系统开发中的困难 现在市面上众多的C编译器都是以开发Window...

  • Write Your Own Operating System Tutorial(中文版) - Lesson 1: 引导扇区

    Lesson 1: 引导扇区这一课我们将学习引导扇区的知识,这样我们就能写一个我们自己的引导程序了。当计算机从软盘引导时, BIOS (Basic Input/Output System)将磁盘的第一个扇区读入以0000:7C00开始的内存。这个扇区称为DOS Boot Record (DBR)。然后,BIOS跳转到0x7C00开始执行那里的指令。正是那些指令(即“boot loader”)将

  • Write Your Own Operating System Tutorial(中文版) 简介 (转)

    Write Your Own Operating System Tutorial(中文版) 简介 (转)[@more@]简介 这份教程将告诉你如何开始着手写一个你自己的操作系统。它将向你展示一个应该如何开始做这些事情的方法。这...

  • asp.net快速开发框架(eFrameWork) v2.0.0

    eFrameWork(asp.net)开发框架(以下简称框架)是E客开发团队(EKETEAM以下简称e客)从业十余年开发经验的累积,经众多项目磨合及客户意见、建议不断优化完善而来。 框架主要用于B/S架构的应

  • YIQI-UI css模板快速开发框架 v2.0.0 bulid20200228

    逸祺-UI是一个为html进行设计的css模板。 只需引入YIQI-UI.CSS 从此开发网站模板变的更加简单。 对于不会写CSS或JS的朋友有很大的帮助。 更多的特效和效果在不断更新中。

  • Spring Boot 2.0.0 终于正式发布-重大修订版本

    北京时间 2018 年 3 月 1 日早上,如约发布的 Spring Boot 2.0 在同步至 Maven 仓库时出现问题,导致在 GitHub 上发布的 v2.0.0.RELEASE 被撤回

  • Yii开发框架 v2.0.0

    Yii 2.0.0 值得关注的特性: •采用标准以及最新的技术 •坚实的基础类 •提供一些易用的开发工具 ...Yii 2.0.0 是一个完全重写的版本,我们的目标是构建一个最先进的PHP框架,同时保留其简单易用和可扩展性。

  • K8S资源对象监控kube-state-metrics-2.0.0镜像及资源清单文件

    原文链接:https://blog.csdn.net/m0_37814112/article/details/122041607 说明:K8S资源对象监控kube-state-metrics-2.0.0镜像文件及资源清单文件

Global site tag (gtag.js) - Google Analytics