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

凡科建站怎么导出实时热搜榜榜单

凡科建站怎么导出,实时热搜榜榜单,网站制作一般哪家好,酒店网站设计的毕业论文需求 对象的相关信息存储在javabean.properties文件中,通过读取properties文件中的信息,实例化对象,要求程序不能硬编码,即程序可以通用,针对不同的对象,都可以实例化。仅需修改配置文件,不需要…

需求

对象的相关信息存储在javabean.properties文件中,通过读取properties文件中的信息,实例化对象,要求程序不能硬编码,即程序可以通用,针对不同的对象,都可以实例化。仅需修改配置文件,不需要更改代码。
在这里插入图片描述

实现代码

import java.io.FileReader;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.util.Properties;/*** 实例化对象*/
public class AddInstance {public static void main(String[] args) throws Exception {// 读取本地javabean.propertiesProperties properties = new Properties();properties.load(new FileReader("C:\\Users\\1\\IdeaProjects\\javaSE\\javabean.properties"));// 根据javabean.properties中的className值获取对应的字节码对象Class className = Class.forName((String) properties.get("className"));// 获取构造器Constructor constructor = className.getConstructor();// 获取实例化对象Object obj = constructor.newInstance();// 获取所有的变量对象Field[] fields = className.getDeclaredFields();// 遍历变量对象for (Field field : fields) {// 分割变量对象,需要注意”.“需要转义String[] split = (field.toString()).split("\\.");// 获取属性名String attribute = split[split.length - 1];// 将属性的访问设置为truefield.setAccessible(true);// 定义Object对象Object o;// 如果该对象的某个属性是int类型if (field.getType() == int.class) {// 将从javabean.properties中获取到的对应的该值转为Integer类型o = Integer.parseInt((String) properties.get(attribute));} else {// 不是int类型,直接将取出javabean.properties中的值o = properties.get(attribute);}// 写入field.set(obj, o);}System.out.println("通过配置文件创建了对象,并赋值结果是:" + obj);}
}

在这里插入图片描述在这里插入图片描述

需要注意以下两点:
(1)获取javaBean的属性对象后,用“.”(点)进行分割时,需要转义,即“\\.”,不然分割不出效果

	System.out.println("------------------------------------------------------------");System.out.println(field.toString());String[] split = (field.toString()).split("\\.");System.out.println(Arrays.toString(split));String[] split1 = (field.toString()).split(".");System.out.println(Arrays.toString(split1));

在这里插入图片描述

(2)因为从properties文件中读出来的值都是字符串的,所以在写入对象值时需要判断,即判断对象的该属性(比如)是int类型,则把从properties中读取出来的该属性的值转为int类型

	// 如果该对象的某个属性是int类型if (field.getType() == int.class) {// 将从properties.properties中获取到的对应的该值转为Integer类型o = Integer.parseInt((String) properties.get(attribute));} else {// 不是int类型,直接将取出properties.properties中的值o = properties.get(attribute);}

总结和分析

通过反射和读取本地配置文件的方式来实例化对象,看似避免了“硬编码”,实例化不同对象不需要更改代码。但是,仍有以下几点麻烦之处:
(1)实例化不同的对象,需要更改配置文件的className值,即需要实例化javaBean的全类名;
(2)另外,如果javaBean属性中有非字符串类型的,则需要增加判断
(3)而且如果多个javaBean的实例化信息存放在properties内,不免会出现属性重复的情况。比如Person类有name属性,User类也有name属性,这时就需要创建多个properties文件,不免有些麻烦。

http://www.ds6.com.cn/news/123671.html

相关文章:

  • 如何在门户网站做推广微信管理工具
  • 新乐市做网站百度客服24小时电话
  • 品牌网站建设源码营销活动方案模板
  • 找投资项目的网站百度自媒体怎么注册
  • 网站上seo怎么做网络营销的未来发展趋势
  • 做网络营销如何建立自己的网站百度查询入口
  • 网站建设历史深圳网站开发技术
  • wordpress 英文 企业网站模板百度注册网站怎么弄
  • 网站建设提供了哪些栏目来几个关键词兄弟们
  • 用asp做网站视频成都网站seo收费标准
  • 做响应式网站设计做图怎么搞直通车推广怎么做
  • 做视频广告在哪个网站能够赚钱企业邮箱怎么申请
  • 太原做网站 小程序抖音seo是什么意思
  • 做网站还是做阿里外链发布软件
  • 临沂做网站多少钱有道搜索
  • 南京科技网站设计有特点关键词优化公司排名榜
  • 品牌茶业都在哪些网站做宣传东莞百度搜索优化
  • 意识形态 网站建设存在的问题怎么样在百度上免费推广
  • 日本 男女做受网站新手销售怎么和客户交流
  • 制作网站结构设计怎么建网址
  • 哪些网站可以做房产推广十大跨界营销案例
  • 网站商城系统黄页引流推广
  • 做网站推广那家好小红书笔记关键词排名优化
  • 毕业设计做系统好还是网站好网站seo优化心得
  • 天长网站制作中国搜索引擎份额排行
  • 免费博客网站有哪些搜索引擎广告图片
  • 二级域名做网站seo技术自学
  • seo工资seo好学吗
  • psd做模板下载网站苏州seo关键词优化报价
  • 广东东莞人才网招聘网宁波企业seo推广