java: 一些数字到字符的转换技巧,反射访问类成员数组的方法
2011-12-20 11:34
761 查看
!本文声明:谴责烂代码 !
接下来是正文:
关于反射访问类成员数组的方法:记住java中的数组也是对象,用Field.getObject()就行了。
本文介绍两种转换方式(在for循环里)。
输出结果:
lunarInfo:class [I
鼠牛虎兔龙蛇马羊猴鸡狗猪
sTermInfo:class [I
鼠牛虎兔龙蛇马羊猴鸡狗猪
Gan:class [C
甲乙丙丁戊己庚辛壬癸
tw_Gan:class [C
甲乙丙丁戊己庚辛壬癸
Zhi:class [C
子丑寅卯辰巳午未申酉戌亥
tw_Zhi:class [C
子丑寅卯辰巳午未申酉戌亥
Animals:class [C
鼠牛虎兔龙蛇马羊猴鸡狗猪
tw_Animals:class [C
鼠牛虎兔龍蛇馬羊猴雞狗豬
solarTerm:class [C
小寒大寒立春雨水惊蛰春分清明谷雨立夏小满芒种夏至小暑大暑立秋处暑白露秋分寒露霜降立冬小雪大雪冬至
tw_solarTerm:class [C
小寒大寒立春雨水驚蟄春分清明穀雨立夏小滿芒種夏至小暑大暑立秋處暑白露秋分寒露霜降立冬小雪大雪冬至
dateStr1:class [C
正一二三四五六七八九十冬腊
tw_dateStr1:class [C
正一二三四五六七八九十冬臘
dateStr2:class [C
初十廿卅□
tw_dateStr2:class [C
初十廿卅□
yearMonthDay:class [C
闰年月
tw_yearMonthDay:class [C
閏年月
lFtv:class [C
春节初二元宵端午七夕中元中秋重阳腊八小年除夕
tw_lFtv:class [C
春節初二元宵端午七夕中元中秋重陽臘八小年除夕
鼠牛虎兔龙蛇马羊猴鸡狗猪
接下来是正文:
关于反射访问类成员数组的方法:记住java中的数组也是对象,用Field.getObject()就行了。
本文介绍两种转换方式(在for循环里)。
import java.io.IOException; import java.io.StringWriter; import java.lang.reflect.Field; public class Converter { public static void main(String[] args) throws IOException, IllegalArgumentException, IllegalAccessException { NumberSet numSet = new NumberSet(); Field[] fields = NumberSet.class.getDeclaredFields(); for (Field f : fields) { System.out.println(f.getName() + ":" + f.getType()); if ("class [I".equals(f.getType().toString())) { int[] is = (int[]) f.get(numSet); // for (int i : is) { // System.out.print(i); //no // } StringWriter writer = new StringWriter(); writer.write(numSet.Animals); writer.flush(); StringBuffer sb = writer.getBuffer(); System.out.print(sb); writer.close(); } else if ("class [C".equals(f.getType().toString())) { char[] cs = (char[]) f.get(numSet); for (char c : cs) { System.out.print(c); } } System.out.println(); } StringWriter writer = new StringWriter(); writer.write(numSet.Animals); writer.flush(); StringBuffer sb = writer.getBuffer(); System.out.println(sb); writer.close(); } } class NumberSet { int[] lunarInfo = { 0x04bd8, 0x04ae0, 0x0a570, 0x054d5, 0x0d260, 0x0d950, 0x16554, 0x056a0, 0x09ad0, 0x055d2, 0x04ae0, 0x0a5b6, 0x0a4d0, 0x0d250, 0x1d255, 0x0b540, 0x0d6a0, 0x0ada2, 0x095b0, 0x14977, 0x04970, 0x0a4b0, 0x0b4b5, 0x06a50, 0x06d40, 0x1ab54, 0x02b60, 0x09570, 0x052f2, 0x04970, 0x06566, 0x0d4a0, 0x0ea50, 0x06e95, 0x05ad0, 0x02b60, 0x186e3, 0x092e0, 0x1c8d7, 0x0c950, 0x0d4a0, 0x1d8a6, 0x0b550, 0x056a0, 0x1a5b4, 0x025d0, 0x092d0, 0x0d2b2, 0x0a950, 0x0b557, 0x06ca0, 0x0b550, 0x15355, 0x04da0, 0x0a5b0, 0x14573, 0x052b0, 0x0a9a8, 0x0e950, 0x06aa0, 0x0aea6, 0x0ab50, 0x04b60, 0x0aae4, 0x0a570, 0x05260, 0x0f263, 0x0d950, 0x05b57, 0x056a0, 0x096d0, 0x04dd5, 0x04ad0, 0x0a4d0, 0x0d4d4, 0x0d250, 0x0d558, 0x0b540, 0x0b6a0, 0x195a6, 0x095b0, 0x049b0, 0x0a974, 0x0a4b0, 0x0b27a, 0x06a50, 0x06d40, 0x0af46, 0x0ab60, 0x09570, 0x04af5, 0x04970, 0x064b0, 0x074a3, 0x0ea50, 0x06b58, 0x055c0, 0x0ab60, 0x096d5, 0x092e0, 0x0c960, 0x0d954, 0x0d4a0, 0x0da50, 0x07552, 0x056a0, 0x0abb7, 0x025d0, 0x092d0, 0x0cab5, 0x0a950, 0x0b4a0, 0x0baa4, 0x0ad50, 0x055d9, 0x04ba0, 0x0a5b0, 0x15176, 0x052b0, 0x0a930, 0x07954, 0x06aa0, 0x0ad50, 0x05b52, 0x04b60, 0x0a6e6, 0x0a4e0, 0x0d260, 0x0ea65, 0x0d530, 0x05aa0, 0x076a3, 0x096d0, 0x04bd7, 0x04ad0, 0x0a4d0, 0x1d0b6, 0x0d250, 0x0d520, 0x0dd45, 0x0b5a0, 0x056d0, 0x055b2, 0x049b0, 0x0a577, 0x0a4b0, 0x0aa50, 0x1b255, 0x06d20, 0x0ada0, 0x14b63 }; int[] sTermInfo = { 0, 21208, 42457, 63806, 85297, 106944, 128777, 150811, 173019, 195400, 217902, 240498, 263152, 285789, 308393, 330853, 353200, 375364, 397347, 419120, 440735, 462194, 483512, 504758 }; char[] Gan = { 0x7532, 0x4E59, 0x4E19, 0x4E01, 0x620A, 0x5DF1, 0x5E9A, 0x8F9B, 0x58EC, 0x7678 }; char[] tw_Gan = { 0x7532, 0x4E59, 0x4E19, 0x4E01, 0x620A, 0x5DF1, 0x5E9A, 0x8F9B, 0x58EC, 0x7678 }; char[] Zhi = { 0x5B50, 0x4E11, 0x5BC5, 0x536F, 0x8FB0, 0x5DF3, 0x5348, 0x672A, 0x7533, 0x9149, 0x620C, 0x4EA5 }; char[] tw_Zhi = { 0x5B50, 0x4E11, 0x5BC5, 0x536F, 0x8FB0, 0x5DF3, 0x5348, 0x672A, 0x7533, 0x9149, 0x620C, 0x4EA5 }; char[] Animals = { 0x9F20, 0x725B, 0x864E, 0x5154, 0x9F99, 0x86C7, 0x9A6C, 0x7F8A, 0x7334, 0x9E21, 0x72D7, 0x732A }; char[] tw_Animals = { 0x9F20, 0x725B, 0x864E, 0x5154, 0x9F8D, 0x86C7, 0x99AC, 0x7F8A, 0x7334, 0x96DE, 0x72D7, 0x8C6C }; char[] solarTerm = { 0x5C0F, 0x5BD2, 0x5927, 0x5BD2, 0x7ACB, 0x6625, 0x96E8, 0x6C34, 0x60CA, 0x86F0, 0x6625, 0x5206, 0x6E05, 0x660E, 0x8C37, 0x96E8, 0x7ACB, 0x590F, 0x5C0F, 0x6EE1, 0x8292, 0x79CD, 0x590F, 0x81F3, 0x5C0F, 0x6691, 0x5927, 0x6691, 0x7ACB, 0x79CB, 0x5904, 0x6691, 0x767D, 0x9732, 0x79CB, 0x5206, 0x5BD2, 0x9732, 0x971C, 0x964D, 0x7ACB, 0x51AC, 0x5C0F, 0x96EA, 0x5927, 0x96EA, 0x51AC, 0x81F3 }; char[] tw_solarTerm = { 0x5C0F, 0x5BD2, 0x5927, 0x5BD2, 0x7ACB, 0x6625, 0x96E8, 0x6C34, 0x9A5A, 0x87C4, 0x6625, 0x5206, 0x6E05, 0x660E, 0x7A40, 0x96E8, 0x7ACB, 0x590F, 0x5C0F, 0x6EFF, 0x8292, 0x7A2E, 0x590F, 0x81F3, 0x5C0F, 0x6691, 0x5927, 0x6691, 0x7ACB, 0x79CB, 0x8655, 0x6691, 0x767D, 0x9732, 0x79CB, 0x5206, 0x5BD2, 0x9732, 0x971C, 0x964D, 0x7ACB, 0x51AC, 0x5C0F, 0x96EA, 0x5927, 0x96EA, 0x51AC, 0x81F3 }; char[] dateStr1 = { 0x6B63, 0x4E00, 0x4E8C, 0x4E09, 0x56DB, 0x4E94, 0x516D, 0x4E03, 0x516B, 0x4E5D, 0x5341, 0x51AC, 0x814A }; char[] tw_dateStr1 = { 0x6B63, 0x4E00, 0x4E8C, 0x4E09, 0x56DB, 0x4E94, 0x516D, 0x4E03, 0x516B, 0x4E5D, 0x5341, 0x51AC, 0x81D8 }; char[] dateStr2 = { 0x521D, 0x5341, 0x5EFF, 0x5345, 0x25A1 }; char[] tw_dateStr2 = { 0x521D, 0x5341, 0x5EFF, 0x5345, 0x25A1 }; char[] yearMonthDay = { 0x95F0, 0x5E74, 0x6708, 0x0020 }; char[] tw_yearMonthDay = { 0x958F, 0x5E74, 0x6708, 0x0020 }; char[] lFtv = { 0x6625, 0x8282, 0x521D, 0x4E8C, 0x5143, 0x5BB5, 0x7AEF, 0x5348, 0x4E03, 0x5915, 0x4E2D, 0x5143, 0x4E2D, 0x79CB, 0x91CD, 0x9633, 0x814A, 0x516B, 0x5C0F, 0x5E74, 0x9664, 0x5915 }; char[] tw_lFtv = { 0x6625, 0x7BC0, 0x521D, 0x4E8C, 0x5143, 0x5BB5, 0x7AEF, 0x5348, 0x4E03, 0x5915, 0x4E2D, 0x5143, 0x4E2D, 0x79CB, 0x91CD, 0x967D, 0x81D8, 0x516B, 0x5C0F, 0x5E74, 0x9664, 0x5915 }; }
输出结果:
lunarInfo:class [I
鼠牛虎兔龙蛇马羊猴鸡狗猪
sTermInfo:class [I
鼠牛虎兔龙蛇马羊猴鸡狗猪
Gan:class [C
甲乙丙丁戊己庚辛壬癸
tw_Gan:class [C
甲乙丙丁戊己庚辛壬癸
Zhi:class [C
子丑寅卯辰巳午未申酉戌亥
tw_Zhi:class [C
子丑寅卯辰巳午未申酉戌亥
Animals:class [C
鼠牛虎兔龙蛇马羊猴鸡狗猪
tw_Animals:class [C
鼠牛虎兔龍蛇馬羊猴雞狗豬
solarTerm:class [C
小寒大寒立春雨水惊蛰春分清明谷雨立夏小满芒种夏至小暑大暑立秋处暑白露秋分寒露霜降立冬小雪大雪冬至
tw_solarTerm:class [C
小寒大寒立春雨水驚蟄春分清明穀雨立夏小滿芒種夏至小暑大暑立秋處暑白露秋分寒露霜降立冬小雪大雪冬至
dateStr1:class [C
正一二三四五六七八九十冬腊
tw_dateStr1:class [C
正一二三四五六七八九十冬臘
dateStr2:class [C
初十廿卅□
tw_dateStr2:class [C
初十廿卅□
yearMonthDay:class [C
闰年月
tw_yearMonthDay:class [C
閏年月
lFtv:class [C
春节初二元宵端午七夕中元中秋重阳腊八小年除夕
tw_lFtv:class [C
春節初二元宵端午七夕中元中秋重陽臘八小年除夕
鼠牛虎兔龙蛇马羊猴鸡狗猪
相关文章推荐
- @V@ java代码笔记2010-06-12:java控制台输入各类型类实现;以及判断输入字符串里面是否有数字的两种方法:方法1:转换成字符数组;方法2:正则表达式。
- Java中char数组(字符数组)与字符串String类型的转换方法
- 黑马程序员——Java高新技术——反射(续)、成员方法的反射、数组的反射、Hashcode方法分析、类加载器等
- java中数字、字符串、字符数组的转换
- Java中char数组(字符数组)与字符串String类型的转换方法
- JNI中 Java 中字符串 转换成C中的字符数组方法
- Java基础---基础加强---增强for循环、自动拆装箱及享元、枚举的作用、实现带有构造方法、透彻分析反射的基础_Class类、成员变量的反射、数组参数的成员方法进行反射、数组的反射应用
- JAVA将 带有空格或特殊字符的字符串转换成int数组的方法
- java中(一些技巧)contains 方法的作用 字符串转换int 类型
- Java基础---基础加强---增强for循环、自动拆装箱及享元、枚举的作用、实现带有构造方法、透彻分析反射的基础_Class类、成员变量的反射、数组参数的成员方法进行反射、数组的反射应用
- Java中char数组(字符数组)与字符串String类型的转换方法
- java中一些数据格式判断、转换的方法(手机号、邮箱格式,byte数组转String)
- [Java学习笔记] 为什么.length是数组的成员,是字符串的方法?
- java中关于数组转换成字符串方法
- 如何通过Java反射访问类里面的私有方法和变量
- java List转换为字符串并加入分隔符的一些方法总结
- jni中字符转换中文乱码的处理方法 Java String转换成const char*(转摘)
- java中字符数组和字符串的相互转换
- java List转换为字符串并加入分隔符的一些方法总结
- Java字符串技巧之删除标点或最后字符的方法