java: 一些数字到字符的转换技巧,反射访问类成员数组的方法
来源:互联网 发布:桌面倒计时软件下载 编辑:程序博客网 时间:2024/05/19 14:20
!本文声明:谴责烂代码 !
接下来是正文:
关于反射访问类成员数组的方法:记住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
春節初二元宵端午七夕中元中秋重陽臘八小年除夕
鼠牛虎兔龙蛇马羊猴鸡狗猪
- java: 一些数字到字符的转换技巧,反射访问类成员数组的方法
- Java中利用反射对类的hidden成员方法和属性的访问
- java中数字、字符串、字符数组的转换
- Java反射机制,通过对象访问调用类的私有成员属性或者方法
- Java反射机制 访问类的私有成员
- java利用反射访问类的私有成员
- 反射 --- 成员方法Method类的反射
- 数字添加到字符数组的函数
- 黑马程序员——Java高新技术——反射(续)、成员方法的反射、数组的反射、Hashcode方法分析、类加载器等
- 利用反射访问类的私有成员
- java反射的一些方法
- 成员方法的反射
- 成员方法的反射
- 成员方法的反射
- (JAVA自学笔记)成员方法的反射
- JAVA方法访问修饰和类的成员访问修饰
- 黑马程序员--03.反射--07【含有数组参数的成员方法的反射】【数组的反射】
- 字符转换为数字的方法
- Flex 与Python之间Socket通讯
- Android+Listview+分页+动态加载网络数据
- Oracle创建表空间,用户和授权
- 摘自java解惑 名字重用术语表 有必要好好牢记
- Elsevier投稿实录之signal processing
- java: 一些数字到字符的转换技巧,反射访问类成员数组的方法
- android系统退出代码实现
- overcommit_memory
- (转)Linux——linux学习全攻略
- 关于网站中FCKeditor用域名访问时提示“没有权限”的解决方法
- 查询IO的几个存储过程
- 记录ERP的路,学习K3
- jquery 阻止事件默认行为和事件冒泡的BUG在jquery-1.4.3中
- (转)OCX和DLL的区别