stringutils

Java工具类04StringUtils常用操作

雨燕双飞 提交于 2020-03-25 15:03:35
1.字符串操作(常用) 1.1commons-lang3 <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.9</version></dependency> https://www.cnblogs.com/hahajava/p/9993491.html 常用操作 1.1.1判空 StringUtils.isEmpty();StringUtils.isNotEmpty(); 1.1.2以--结尾,开始 //判断结尾是否相同System.out.println(StringUtils.endsWith("abcdef", "def"));//判断结尾是否相同,不区分大小写System.out.println(StringUtils.endsWithIgnoreCase("abcdef", "Def"));//判断开始部分是否与二参数相同System.out.println(StringUtils.startsWith("中国共和国人民", "中国"));//判断开始部分是否与二参数相同。不区分大小写System.out.println(StringUtils.startsWithIgnoreCase("中国共和国人民", "中国"));

【杂转】如果你热爱编码,就应该少写代码

半世苍凉 提交于 2020-03-16 17:56:04
看到一篇文章,写得挺有意思的,转载过来了。 “如果你喜欢一个人,就应该尽量少说那些甜言蜜语。”不知道大家是否听过某些恋爱专家的肺腑之言。对于程序员来说,如果你热爱编码,那么我也劝你:“能少写一行代码就尽量少写一行。” 可能有些同学觉得这话听起来有点玄乎:“代码写得少,不就意味着缺乏实战经验吗?那我何年何月才能进一线大厂,成为真正的大神呢?” 如果你要这么理解的话,我就必须要纠正你一下。我表达的意思是这样的,来通过两行简短的代码表情达意吧。 if (str == null || "".equals(str)) {} if (StringUtils.isEmpty()) {} 就上面这两行代码来说,我的第一选择是使用第二行代码来进行判空操作,因为它的代码量更少——简洁明了,也更不容易出错。 如果我们程序员没有这种(写更少代码的)追求的话,那我们的编程技艺就只会原地踏步,长此以往的后果就是各种避免重复造轮子的第三方类库就不会出现。 就判空操作来说, str == null || "".equals(str) 已经干得非常漂亮了(null 和空字符串都考虑在内了),但性能仍然有待优化,可以使用更高效的 str == null || str.length() == 0 来替代。为什么这么说呢? 因为 Sting 类的 equals() 方法 本身是很沉重的,其源码如下所示。 public

springboot实现自定义国际化

时光总嘲笑我的痴心妄想 提交于 2020-03-14 15:25:55
1.编写国际化配置文件,抽取页面需要显示的国际化消息,以登录页面为例,在resources下创建目录i18n/login,创建目录login.properties,login_zh_CN.properties,login_en_US.properties 2.SpringBoot自动配置好了管理国际化资源文件的组件;配置前缀spring.messages.basename=i18n.login @Configuration(proxyBeanMethods = false) @ConditionalOnMissingBean(name = AbstractApplicationContext.MESSAGE_SOURCE_BEAN_NAME, search = SearchStrategy.CURRENT) @AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE) @Conditional(ResourceBundleCondition.class) @EnableConfigurationProperties public class MessageSourceAutoConfiguration { private static final Resource[] NO_RESOURCES = {}; @Bean

StringUtils 方法介绍(转载)

倖福魔咒の 提交于 2020-03-02 07:32:50
StringUtils函数全集 StringUtils中方法的操作对象是java.lang.String类型的对象,是JDK提供的String类型操作方法的补充,并且是null 安全的(即如果输入参数String为null则不会抛出NullPointerException,而是做了相应处理,例如,如果输入为null则返回也是null等,具体可以查看源代码)。 除了构造器,StringUtils中一共有130多个方法,并且都是static的, 所以我们可以这样调用StringUtils.xxx()。 下面分别对一些常用方法做简要介绍: 1. public static boolean isEmpty(String str) 判断某字符串是否为空,为空的标准是str == null 或 str.length() == 0 下面是示例: StringUtils.isEmpty(null) = true StringUtils.isEmpty("") = true StringUtils.isEmpty(" ") = false StringUtils.isEmpty(" ") = false StringUtils.isEmpty("bob") = false StringUtils.isEmpty(" bob ") = false 2. public static boolean

commons-lang开源API 收藏

谁都会走 提交于 2020-02-29 10:39:05
跟java.lang这个包的作用类似,Commons Lang这一组API也是提供一些基础的、通用的操作和处理,如自动生成toString()的结果、自动实现hashCode()和equals()方法、数组操作、枚举、日期和时间的处理等等。 这一组API的所有包名都以org.apache.commons.lang开头,共有如下8个包: org.apache.commons.lang org.apache.commons.lang.builder org.apache.commons.lang.enum org.apache.commons.lang.enums org.apache.commons.lang.exception org.apache.commons.lang.math org.apache.commons.lang.mutable org.apache.commons.lang.time 其中的lang.enum已不建议使用,替代它的是紧随其后的lang.enums包。 lang包主要是一些可以高度重用的Util类;lang.builder包包含了一组用于产生每个Java类中都常使用到的toString()、hashCode()、equals()、compareTo()等等方法的构造器;lang.enums包顾名思义用于处理枚举;lang

自定义注解实现环绕增强—消息的发送

好久不见. 提交于 2020-02-15 19:07:53
需求:audit log,针对30多个接口,需要对操作者的行为做一定对记录 实现: 注解的定义 1.使用了两种元注解,很基础,作为使用过的人,应该要知道不仅只有这两种,也不仅只是这些参数 2.type是用于业务,后面则是很简单的参数,type总共有三种,分别对应了三种场景,auditlog,securityLog,invalid message 题外话—这也是金融系统的一个特点,安全性要求高,不仅仅是基本的权限控制,服务器上云,数据库备份,容灾, 甚至在任何一次操作都会在系统中留下记录 @Documented @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.METHOD}) public @interface Log { LogConstant.TypeEnum[] type(); LogConstant.ModuleEnum module(); LogConstant.ActionTypeEnum actionType(); } 环绕增强 一、环绕增强的基本实现 核心注解@Aspect,@Around,pjp就是切入点pjp.process之前就是前置增强,try,就是异常抛出增强 主意这里的url和ip的获取,url比较简单,ip则因为nginx,需要一点解析 二、kafka发送的业务 消息的发送有一些封装

数据分页前后端代码实现以及一些小知识

不打扰是莪最后的温柔 提交于 2020-02-10 19:03:13
用到的小技术如下 @RequestParam,@PathVariable 前端form表单GET的使用 thymleaf传递多个参数的应用 Model(相当于getsession().setAttribute()) StringUtils.split以及Arrays.stream().collect(Collectors.joining("")) mybatis的自创类与xml的配置 @requestParam 常用于controller类里,用于接受(前端页面传递过来的参数),例如 第一个图片/?page=1&search=java分别对应 第二个图片@RequestParam(name = “page”, defaultValue = “1”) Integer page与 @RequestParam(name = “search”,required = false) String search @RequestParam(name=前端页面参数名,defaultValue=参数值) @RequestParam(name=前端页面参数名,requeired=false(可有可无)) @PathVariable 常用于controller类里,用于接受(前端页面传递过来的参数 地址栏的55对应@PathVariable(name = “id”) Integer id

java 数组转字符串 字符串转数组,java高级面试笔试题

◇◆丶佛笑我妖孽 提交于 2020-02-02 04:53:18
我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家。 扫描二维码或搜索下图红色VX号,加VX好友,拉你进【程序员面试学习交流群】免费领取。也欢迎各位一起在群里探讨技术。 字符串转数组 使用Java split() 方法 split() 方法根据匹配给定的正则表达式来拆分字符串。 注意: . 、 | 和 * 等转义字符,必须得加 \。多个分隔符,可以用 | 作为连字符。 // 字符串转数组 java.lang.String String str = "0,1,2,3,4,5"; String[] arr = str.split(","); // 用,分割 System.out.println(Arrays.toString(arr)); // [0, 1, 2, 3, 4, 5] 数组转字符串 方法一: 遍历 String[] arr = { "0", "1", "2", "3", "4", "5" }; // 遍历 StringBuffer str5 = new StringBuffer(); for (String s : arr) { str5.append(s); } System.out.println(str5.toString()); // 012345 方法二: 使用StringUtils的join方法 //数组转字符串

API安全(四)-认证

我的未来我决定 提交于 2020-01-21 17:23:42
1、什么是认证    认证是指我们去验证用户身份是否合法的过程。 2、认证和登陆的区别    很多人会把认证和登陆混为一谈,其实两者完全是两个概念。认证不是登陆,登陆是指用户获取身份证明的一个过程,认证是指我们去验证这个用户身份是否合法的过程。    登陆的行为,往往只发生一次,登陆成功后,会保存一段时间用户信息。而认证,每次请求去调用业务逻辑的时候都会去执行。    再有就是登陆一旦有问题,就不会继续往下走,比如说,登陆时用户名或密码填写错误了,这时会进行报错或返回,不会继续往下执行。而认证的话,不管认证信息是否正确,在整个安全机制链路中还是会继续往下执行(如下图),让后面的审计机制,去记录这次身份认证的结果是什么样子的。最终请求是不是可以被通过,要由授权来决定。而不是由认证来决定的。比如说当前请求没有用户认证信息或者认证机制根本没生效,但是这个请求,有可能是可以正常访问的。比如说首页,获取商品信息等。 3、HttpBasic认证    基于http协议的认证方式由很多,这里,我们先了解一下最简单的HttpBasic认证,这是一个最基础的认证。HttpBasic验证方案是在 RFC 7617 中规定的,在该方案中,使用用户的 ID/密码作为凭证信息,并且使用 base64 算法进行编码。    步骤:3.1、用冒号将用户名和密码进行拼接(如:aladdin:opensesame)

Java开发常用工具类

人走茶凉 提交于 2020-01-19 21:49:54
一. org.apache.commons.io.IOUtils 二. org.apache.commons.io.FileUtils 三. org.apache.commons.lang.StringUtils 四. org.apache.http.util.EntityUtils 五. org.apache.commons.lang3.StringUtils 六. org.apache.commons.io.FilenameUtils 七. org.springframework.util.StringUtils 八. org.apache.commons.lang.ArrayUtils 九. org.apache.commons.lang.StringEscapeUtils / org.apache.commons.lang3.StringEscapeUtils 十. org.apache.http.client.utils.URLEncodedUtils 十一. org.apache.commons.codec.digest.DigestUtils 十二. org.apache.commons.collections.CollectionUtils 十三. org.apache.commons.lang3.ArrayUtils 十四. org.apache.commons