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

网站建设如何为企业电商化转型赋能自助网站建设技术支持

网站建设如何为企业电商化转型赋能,自助网站建设技术支持,网站建设营销型号的区别,绍兴房产网目录 一、依赖二、Convert三、DateUtil四、StrUtil五、ReflectUtil六、IdUtil七、RandomUtil八、BeanUtil九、JSONUtil Hutool是一个小而全的Java工具类库#xff0c;通过静态方法封装#xff0c;降低相关API的学习成本#xff0c;提高工作效率#xff0c;使Java拥有函数式… 目录 一、依赖二、Convert三、DateUtil四、StrUtil五、ReflectUtil六、IdUtil七、RandomUtil八、BeanUtil九、JSONUtil Hutool是一个小而全的Java工具类库通过静态方法封装降低相关API的学习成本提高工作效率使Java拥有函数式语言般的优雅。Hutool官网 设计思想是尽量减少重复的定义让项目中的util这个package尽量少总的来说有如下的几个思想 方法优先于对象自动识别优于用户定义便捷性与灵活性并存适配与兼容可选依赖原则无侵入原则 一、依赖 dependencygroupIdcn.hutool/groupIdartifactIdhutool-all/artifactIdversion5.8.26/version /dependency二、Convert 在Java开发中我们要面对各种各样的类型转换问题比如数组转换成字符串日期转换成字符串等。 我们需要手写许多代码或者专门处理异常比较麻烦。 而Hutool包专门提供了Convert类我们使用它做类型转换使用起来非常方便。 1.数字转换为字符串 int a 1; //aStr为1 String aStr Convert.toStr(a);2.转换为指定类型数组 long[] b {1,2,3,4,5}; //bStr为[1, 2, 3, 4, 5] String bStr Convert.toStr(b);3.转换为指定类型数组 String[] b { 1, 2, 3, 4 }; //结果为Integer数组 Integer[] intArray Convert.toIntArray(b);long[] c {1,2,3,4,5}; //结果为Integer数组 Integer[] intArray2 Convert.toIntArray(c);4.转换为日期对象 String a 2017-05-06; Date value Convert.toDate(a);5.转换为集合 Object[] a {a, 你, 好, , 1}; List? list Convert.convert(List.class, a); //从4.1.11开始可以这么用 List? list Convert.toList(a);三、DateUtil Java本身对日期时间的支持有限并且Date和Calendar对象的并存导致各种方法使用混乱和复杂。 通常情况下我们需要使用SimpleDateFormat类做时间和字符串类型的转换。 其实Hutool包专门提供了DateUtil类给我们做时间和日期类型转换的。 1.Date和Calendar相互转换 //当前时间 Date date DateUtil.date(); //当前时间 Date date2 DateUtil.date(Calendar.getInstance());2.字符串转日期 将字符串转换成Date类型 String dateStr 2017-03-01; Date date DateUtil.parse(dateStr);自定义时间格式做类型转换 String dateStr 2017-03-01; Date date DateUtil.parse(dateStr, yyyy-MM-dd);3.格式化日期输出 String dateStr 2017-03-01; Date date DateUtil.parse(dateStr);//结果 2017/03/01 String format DateUtil.format(date, yyyy/MM/dd);//常用格式的格式化结果2017-03-01 String formatDate DateUtil.formatDate(date);//结果2017-03-01 00:00:00 String formatDateTime DateUtil.formatDateTime(date);//结果00:00:00 String formatTime DateUtil.formatTime(date);4.开始和结束时间 有的时候我们需要获得每天的开始时间、结束时间每月的开始和结束时间等等DateUtil也提供了相关方法 String dateStr 2017-03-01 22:33:23; Date date DateUtil.parse(dateStr);//一天的开始结果2017-03-01 00:00:00 Date beginOfDay DateUtil.beginOfDay(date);//一天的结束结果2017-03-01 23:59:59 Date endOfDay DateUtil.endOfDay(date);四、StrUtil 这个工具的用处类似于Apache Commons Lang中的StringUtil常用的方法例如isBlank、isNotBlank、isEmpty、isNotEmpty。 1.hasBlank方法 就是给定一些字符串如果一旦有空的就返回true常用于判断好多字段是否有空的例如web表单数据。 这两个方法的区别是hasEmpty只判断是否为null或者空字符串“”hasBlank则会把不可见字符也算做空isEmpty和isBlank同理。 2.removePrefix方法 这两个是去掉字符串的前缀后缀的例如去个文件名的扩展名啥。 String fileName StrUtil.removeSuffix(pretty_girl.jpg, .jpg) //fileName - pretty_girl还有忽略大小写的removePrefixIgnoreCase和removeSuffixIgnoreCase都比较实用。 3.sub方法 有人说String有了subString你还写它干啥我想说subString方法越界啥的都会报异常而使用StrUtil的sub就不会报错 String str abcdefgh; String strSub1 StrUtil.sub(str, 2, 3); //strSub1 - c String strSub2 StrUtil.sub(str, 2, -3); //strSub2 - cde String strSub3 StrUtil.sub(str, 3, 2); //strSub2 - c4.format方法 灵感来自slf4j可以使用字符串模板代替字符串拼接。 String template {}爱{}就像老鼠爱大米; String str StrUtil.format(template, 我, 你); //str - 我爱你就像老鼠爱大米五、ReflectUtil Java的反射机制可以让语言变得更加灵活对对象的操作也更加“动态”因此在某些情况下反射可以做到事半功倍的效果。Hutool针对Java的反射机制做了工具化封装封装包括 获取构造方法获取字段获取字段值获取方法执行方法对象方法和静态方法 1.获取某个类的所有方法 Method[] methods ReflectUtil.getMethods(ExamInfoDict.class);2.获取某个类的指定方法 Method method ReflectUtil.getMethod(ExamInfoDict.class, getId);3.构造对象 ReflectUtil.newInstance(ExamInfoDict.class);4.执行方法 class TestClass {private int a;public int getA() {return a;}public void setA(int a) {this.a a;} }TestClass testClass new TestClass(); ReflectUtil.invoke(testClass, setA, 10);六、IdUtil 在分布式环境中唯一ID生成应用十分广泛生成方法也多种多样Hutool针对一些常用生成策略做了简单封装。 唯一ID生成器的工具类涵盖了 UUIDObjectIdMongoDBSnowflakeTwitter 1.UUID UUID全称通用唯一识别码universally unique identifierJDK通过java.util.UUID提供了 Leach-Salz 变体的封装。在Hutool中生成一个UUID字符串方法如下 //生成的UUID是带-的字符串类似于a5c8a5e8-df2b-4706-bea4-08d0939410e3 String uuid IdUtil.randomUUID();//生成的是不带-的字符串类似于b17f24ff026d40949c85a24f4f375d42 String simpleUUID IdUtil.simpleUUID();说明 Hutool重写java.util.UUID的逻辑对应类为cn.hutool.core.lang.UUID使生成不带-的UUID字符串不再需要做字符替换性能提升一倍左右。 2.ObjectId ObjectId是MongoDB数据库的一种唯一ID生成策略是UUID version1的变种详细介绍可见服务化框架分布式Unique ID的生成方法一览。 Hutool针对此封装了cn.hutool.core.lang.ObjectId快捷创建方法为 //生成类似5b9e306a4df4f8c54a39fb0c String id ObjectId.next();//方法2从Hutool-4.1.14开始提供 String id2 IdUtil.objectId();3.Snowflake 分布式系统中有一些需要使用全局唯一ID的场景有些时候我们希望能使用一种简单一些的ID并且希望ID能够按照时间有序生成。Twitter的Snowflake 算法就是这种生成器。 使用方法如下 //参数1为终端ID //参数2为数据中心ID Snowflake snowflake IdUtil.getSnowflake(1, 1); long id snowflake.nextId();//简单使用 long id IdUtil.getSnowflakeNextId(); String id snowflake.getSnowflakeNextIdStr();七、RandomUtil RandomUtil主要针对JDK中Random对象做封装严格来说Java产生的随机数都是伪随机数因此Hutool封装后产生的随机结果也是伪随机结果。不过这种随机结果对于大多数情况已经够用。 RandomUtil.randomInt 获得指定范围内的随机数 例如我们想产生一个[10, 100)的随机数则 int c RandomUtil.randomInt(10, 100);RandomUtil.randomBytes 随机bytes一般用于密码或者salt生成 byte[] c RandomUtil.randomBytes(10);RandomUtil.randomEle 随机获得列表中的元素。 RandomUtil.randomEleSet 随机获得列表中的一定量的不重复元素返回Set SetInteger set RandomUtil.randomEleSet(CollUtil.newArrayList(1, 2, 3, 4, 5, 6), 2);八、BeanUtil 通常Java中对Bean的定义是包含setXXX和getXXX方法的对象在Hutool中采取一种简单的判定Bean的方法是否存在只有一个参数的setXXX方法。 1.判断是否为Bean对象 BeanUtil.isBean方法根据是否存在只有一个参数的setXXX方法或者public类型的字段来判定是否是一个Bean对象。这样的判定方法主要目的是保证至少有一个setXXX方法用于属性注入。 boolean isBean BeanUtil.isBean(HashMap.class);//false2.Bean转为Map BeanUtil.beanToMap方法则是将一个Bean对象转为Map对象。 SubPerson person new SubPerson(); person.setAge(14); person.setOpenid(11213232); person.setName(测试A11); person.setSubName(sub名字);MapString, Object map BeanUtil.beanToMap(person);3.Bean转Bean Bean之间的转换主要是相同属性的复制因此方法名为copyProperties此方法支持Bean和Map之间的字段复制。 BeanUtil.copyProperties方法同样提供一个CopyOptions参数用于自定义属性复制。 SubPerson p1 new SubPerson(); p1.setSlow(true); p1.setName(测试); p1.setSubName(sub测试);MapString, Object map MapUtil.newHashMap(); BeanUtil.copyProperties(p1, map);九、JSONUtil JSONUtil是针对JSONObject和JSONArray的静态快捷方法集合。 1.JSON字符串创建 JSONUtil.toJsonStr可以将任意对象Bean、Map、集合等直接转换为JSON字符串。如果对象是有序的Map等对象则转换后的JSON字符串也是有序的。 SortedMapObject, Object sortedMap new TreeMapObject, Object() {private static final long serialVersionUID 1L;{put(attributes, a);put(b, b);put(c, c); }};JSONUtil.toJsonStr(sortedMap);结果 {attributes:a,b:b,c:c}如果我们想获得格式化后的JSON则 JSONUtil.toJsonPrettyStr(sortedMap);结果 {attributes: a,b: b,c: c }2.JSON字符串解析 String html {\name\:\Something must have been changed since you leave\}; JSONObject jsonObject JSONUtil.parseObj(html); jsonObject.getStr(name);3.XML字符串转换为JSON String s sfzh123/sfzhsfz456/sfznameaa/namegender1/gender; JSONObject json JSONUtil.parseFromXml(s);json.get(sfzh); json.get(name);4.JSON转换为XML final JSONObject put JSONUtil.createObj().set(aaa, 你好).set(键2, test);// aaa你好/aaa键2test/键2 final String s JSONUtil.toXmlStr(put);5.JSON转Bean 我们定义两个较为复杂的Bean包含泛型 Data public class ADT {private ListString BookingCode; }Data public class Price {private ListListADT ADT; }String json {\ADT\:[[{\BookingCode\:[\N\,\N\]}]]};Price price JSONUtil.toBean(json, Price.class); price.getADT().get(0).get(0).getBookingCode().get(0);
http://www.zqtcl.cn/news/231613/

相关文章:

  • 桂林网站建设 腾云安康养老院收费
  • 网站建设找酷风旅游手机网站开发
  • 宜昌建设厅网站开发公司起名大全
  • 龙口建设局网站深圳十大网站建设公司
  • 湛江网站设计哪家好公司网址怎么查询
  • 网站怎么设置关键词河南宣传片制作公司
  • 做网站 怎么赚钱吗安乡网站制作
  • 国外展览展示设计网站沧州网络推广管理公司
  • 物流信息平台网站建设深圳做手机网站建设
  • 品牌型网站的特点领导视察网站建设
  • 如何自己做网站推广淘宝客佛山小程序开发公司
  • 天津市建设局网站口碑营销相关案例
  • 怎么有自己的网站厂字形网页布局网站
  • 广州市财贸建设开发监理网站工程建设企业等采用
  • 网站建设规模设想自己建立网站教程
  • 兰溪建设局网站门户网站建设招标
  • 用wp做网站备案怎么查自己的邮箱号
  • 苏州企业网站建设公司价格数字媒体应用 网站开发
  • 西宁做网站seo四川省的住房和城乡建设厅网站首页
  • 响应式网站 有哪些弊端可以发广告的网站
  • wordpress 漫画站wordpress加目录
  • 天津商城网站制作深圳品牌网站设计公司
  • 初学网站开发上海市普陀区建设规划局网站
  • 网站开发完成后如何发布做网站用vs还是dw
  • 怎么看网站是否备案可信赖的菏泽网站建设
  • 做网站的优点系统软件开发服务
  • 深圳品牌营销网站建设尚品中国网站
  • 新建网站怎么做关键词南阳手机网站制作
  • 宁波网站建设应届生公司网站备案需要每年做吗
  • 汽车设计网站论坛网站 备案