Java类之DatatypeConverter

目录

1 介绍

2  使用


1 介绍

      Java类型绑定声明可用于自定义XML模式数据类型与Java数据类型的绑定。 自定义可以涉及编写解析和打印方法,以分别解析和打印XML模式数据类型的词法表示。 但是,编写解析和打印方法需要了解词法表示(XML Schema Part2:Datatypes规范),因此可能难以编写。这个类使得编写解析和打印方法变得更容易。 它定义了静态解析和打印方法,这些方法提供了对JAXB提供程序的解析和打印方法实现的访问。 这些方法由自定义分析和打印方法调用。 

        说白了就是一个工具类 在类里面提供了一些静态方法,这些方法就是Decode(解码)或者Encode(编码)使用,提供一些Java中数据格式的转换,在类中printXXX 的函数就是encode,parseXXX 的函数就是decode

Java类之DatatypeConverter_第1张图片

DatatypeConverter是一个final类型的,所以不要试图去继承它,通过DatatypeConverterInterface接口类调用特定的方法,DatatypeConverterInterfaceImpl类是DatatypeConverterInterface的实现类,

2  使用

  Printxxx方法

  Java类之DatatypeConverter_第2张图片

Parsexxx方法

Java类之DatatypeConverter_第3张图片

  Printxxx和parsexxx方法都是一一对应的

使用parseHexBinary和printHexBinary举例

 parseHexBinary:将一个String类型的16进制字符串(长度必须是偶数)解码成十进制的字节数组

 printHexBinary:将一个byte[]数组编码成一个String类型

package com.caoyong.datatypeconveter;

import javax.xml.bind.DatatypeConverter;

public class Test {
    
    public static void dataType() {
        String str = "12121211";
        byte[] decode = DatatypeConverter.parseHexBinary(str);
        for(byte b : decode) {
            System.out.print(b+" ");
        }
        byte[] encode = {0x23,0x45,0x23,0x54,0x12};
        String str1 = DatatypeConverter.printHexBinary(encode);
        System.out.println();
        System.out.println(str1);
    }
    public static void main(String[] args) {
        Test.dataType();
    }
}

结果:

Java类之DatatypeConverter_第4张图片

你可能感兴趣的:(Java类)