当前位置: 首页 > news >正文

家在深圳南山seo优化的作用

家在深圳南山,seo优化的作用,外贸网站模版,定海网转载自 java反射 修改静态方法的值 setAccessible 这几天闲来无事。在网上看了一个题目#xff0c;相信大家都知道这个题目 static void change(String str){strwelcome;}public static void main(String[] args) {String str 123;change(str);Syste…转载自 java反射 修改静态方法的值 setAccessible 这几天闲来无事。在网上看了一个题目相信大家都知道这个题目 static void change(String str){strwelcome;}public static void main(String[] args) {String str 123;change(str);System.out.println(str);} str 多少 如果大家都知道 。。 然后我想把最后输出要“welcome”怎么做 于是改成这样 static String change(String str){strwelcome;return str;} 然后main里 strchange(str);这结果改了但是改的代码太多。、 我想只能改change方法。也不需要返回值来解决问题。先看了下 String类发现 private final char value[]; 是私有的。把这个值改了不就OK了嘛 于是想到了反射 代码如下 static void change(String str){try {Class? clazz str.getClass();Field fields clazz.getDeclaredField(value);Object obj fields.get(str);char [] charValue (char [] )obj;System.out.println(charValue); } catch (Exception e) {e.printStackTrace();}} 发现打出结果 welcome 那么只要改掉 charValue就OK了吧。于是继续加代码 发现 modifiers private final 会出这个错 要加上 field.setAccessible(true);try {Class? clazz str.getClass();Field field clazz.getDeclaredField(value);field.setAccessible(true);Object obj field.get(str);char [] charValue (char [] )obj;charValue new char [3];for(int i0;icharValue.length;i){charValue[i]a;}field.set(str, charValue);} catch (Exception e) {e.printStackTrace();} 发现能满足我的要求。值是被改了然后我想改变长度于是又动一下代码charValue new char [4]; 发现值不能改变 继续看String源码发现有个count属性。于是又了改了这个值代码如下 try {Class? clazz str.getClass();Field field clazz.getDeclaredField(value);field.setAccessible(true);Object obj field.get(str);char [] charValue (char [] )obj;charValue new char [4];for(int i0;icharValue.length;i){charValue[i]a;}Field field1 clazz.getDeclaredField(count);field1.setAccessible(true);field1.set(str, charValue.length);field.set(str, charValue);} catch (Exception e) {e.printStackTrace();}} 发现能解决问题。 我又试了下然后我又试下Integer 发现一样可以 代码如下: static void changeInteger(Integer a){ try {Class? clazz a.getClass();Field field clazz.getDeclaredField(value);field.setAccessible(true);field.set(a, 12312);} catch (Exception e) {e.printStackTrace();}} 个人觉得只要Field.setAccessible(true); 之后即使是final关键字标示过得属性也可以有访问权限这样的反射会改变JAVA的结构甚至你的代码可维护性你完全可以 改别的代码里面的值 所以这只是一个简单的例子。只是验证通过反射能做一些让你无法想象的东西。。
http://www.pierceye.com/news/478778/

相关文章:

  • 互动营销网站免费学高中课程的软件
  • 沈阳网站建设活动方案公司网站建设攻略
  • 建网站 方法喜来健cms系统
  • 甘肃 网站备案关于网站开发费用的入账
  • 南昌建网站的公司个人博客模板网站
  • 银川建设局网站丹江口网站制作
  • 做化工的 有那些网站自动的东莞网站制作公司
  • 做网站要求高吗中国建设教育网
  • 支付宝 手机网站开发seo优化在哪里学
  • 建筑工人找活的平台郑州网站优化托管
  • 微网站 下载网站建设找刘贺稳营销专家
  • 网站建设的需求文档视频直播网站开发
  • 高州网站设计鄂尔多斯建设招投标网站
  • 建立网站看病的经济问题菜单设计制作图片
  • 网站推广优化招聘seo整站优化托管
  • 企业网站建设方案百度文库北京正邦品牌设计公司
  • 新乡个人网站建设国际婚恋网站排名
  • 昆明网站建设哪家seo内部优化具体做什么
  • 网站架构设计师浙江省建设厅网站证件
  • 服务器和网站维护安康网站建设公司报价
  • 网站搭建课程标准asp.net做购物网站
  • 网站代码怎么放seo怎么做
  • 网站建设需求说明书怎么写新手php网站建设
  • 织梦做招聘网站中山那些网站公司
  • 网站开发工程师公司购物网站推广
  • 做的网站打不开产品网站建设必要性
  • 网站建设模板免费下载制作网站公司图片
  • 网站建设是一次性给钱还是什么pr模板免费下载网站
  • 大气物流公司网站源码建设家装网站
  • 网站后台关键词交流建设网站