DevExperience(1710)

【1】Date 和 String 互转

// Date 和 String 互转。public static void main(String[] args) {SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");// Date 转 StringString curDateStr = formatter.format(new Date());System.out.println("curDateStr = " + curDateStr);// String 转 Datetry {Date curDate = formatter.parse(curDateStr);System.out.println("curDate = " + curDate);} catch (ParseException e) {e.printStackTrace();}}
// 打印结果
curDateStr = 20171028
curDate = Sat Oct 28 00:00:00 CST 2017
【2】判断字符串是否为数字

// 判断字符串是否为数字(通过正则表达式的匹配来判断,在think-in-java(13.6.2))public static void main(String[] args) {String str1 = "1760801";String str2 = "t1760801r";System.out.println(str1.matches("[0-9]+"));System.out.println(str1.matches("[0-9]{1,}"));System.out.println(str2.matches("[0-9]+"));System.out.println(str2.matches("[0-9]{1,}"));}

// 打印结果
true
true
false
false

【3】mysql for update 行级锁 (计数器自动生成编号)

1.被锁住的行数过多的话,那么行级锁就变成表级锁了;

2.在分布式环境下,给代码添加同步块或同步方法是没有任何意义的。因为查询同一条数据的两个线程可能在不同的机子上;所以这个时候对数据库表或行进行加锁显得尤为重要;


以下内容转自 http://blog.csdn.net/reyzelamp/article/details/78167394



【4】String.matches() 方法 与 Pattern.matcher() 使用 正则表达式 判断字符串格式的比较

/* String.matches() 方法 与 Pattern.matcher() 使用 正则表达式 判断字符串格式的比较 */  
/* 注意:不要以为 formatter.parse() 方法可以判断 日期字符串的正确格式,实现需要做 String.matches() 或 Pattern.matcher() 比较 */
public class DateTest1103 {public static void main(String[] args) {SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); // 日期格式String dateStr = "22222017-10-31b"; // 日期荔枝String regex = "^\\d{4}-\\d{2}-\\d{2}$"; // 正则表达式Pattern p = Pattern.compile(regex);  // 编译后的模式try {System.out.println("====== String.matches() 测试:");if (dateStr.matches(regex)) {System.out.println("planBrwDate = " + formatter.format(formatter.parse(dateStr)));} else {System.out.println("planBrwDate = error format");/* 即便 不是 日期类型的字符串,SimpleDateFormat.format() 方法 居然解析和格式化正确  */System.out.println("planBrwDateStr = " + formatter.parse(dateStr));System.out.println("planBrwDate = " + formatter.format(formatter.parse(dateStr)));}System.out.println("\n====== Pattern.compile() 测试:");Matcher m = p.matcher(dateStr);if (m.matches() == true) {System.out.println("planBrwDate = " + formatter.format(formatter.parse(dateStr)));} else {System.out.println("planBrwDate = error format");/* 即便 不是 日期类型的字符串,SimpleDateFormat.format() 方法 居然解析和格式化正确  */System.out.println("planBrwDateStr = " + formatter.parse(dateStr));System.out.println("planBrwDate = " + formatter.format(formatter.parse(dateStr)));}} catch (ParseException e1) {e1.printStackTrace();}}
}

// 打印结果: 
====== String.matches() 测试:
planBrwDate = error format
planBrwDateStr = Tue Oct 31 00:00:00 CST 22222017
planBrwDate = 22222017-10-31====== Pattern.compile() 测试:
planBrwDate = error format
planBrwDateStr = Tue Oct 31 00:00:00 CST 22222017
planBrwDate = 22222017-10-31

【5】注意String.valueOf() 的使用

【看个荔枝】

public class StringValueOfTest {public static void main(String[] args) {Map<String, Object> map = new HashMap<>();String str = String.valueOf(map.get("tr"));
//		String.valueOf(null); // 这里要抛出空指针异常System.out.println("str = " + str);// 输出 str = null}
}

// String.valueof() 方法定义
public static String valueOf(Object obj) {return (obj == null) ? "null" : obj.toString();}

【代码解说】: 当 传入 valueof 的参数为null时,打印 null 字符串;而当传入 null 对象时,会抛出空指针异常;所以在使用 String.valueOf() 的时候千万记得要判断传入的对象是否为null,避免当传入对象为null时,前台显示出 null 字符串的 业务看不懂的尴尬页面;


【6】





本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/330798.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java Jar包的压缩、解压使用指南

转载自 Java Jar包的压缩、解压使用指南什么是jar包 JAR&#xff08;Java Archive&#xff09;是Java的归档文件&#xff0c;它是一种与平台无关的文件格式&#xff0c;它允许将许多文件组合成一个压缩文件。 如何打/解包 使用jdk/bin/jar.exe工具&#xff0c;配置完环境变量后…

枚举的实现

1.枚举的概念 枚举就是把几个固定的常量列举出来。枚举本质上也是一个类&#xff0c;只不过这个类的对象是几个固定的值&#xff0c;不能让外界创建对象【因为其内部的构造方法私有】 2.定义一个枚举类 public enum Week {//枚举项表示Week类的对象&#xff0c;带括号表示使…

think-in-java(17)容器深入研究

注意&#xff1a; 17章接着 11章继续分析 java容器&#xff0c; think-in-java(11) 【17.1】完整的容器分类方法 【容器分类网络解说】 1&#xff09;接口&#xff1a;虚线框&#xff0c;没有实线入边&#xff08;没有实体类继承关系&#xff0c;只有接口继承关系&#xff09…

浅析负载均衡的6种算法,Ngnix的5种算法

转载自 浅析负载均衡的6种算法&#xff0c;Ngnix的5种算法。 常见的几种负载均衡算法 1、轮询法 将请求按顺序轮流地分配到后端服务器上&#xff0c;它均衡地对待后端的每一台服务器&#xff0c;而不关心服务器实际的连接数和当前的系统负载。 2、随机法 通过系统的随机算法…

注解的实现

1.概念 注解表示一个标识(标注、标记)&#xff0c;它可以用在类上、方法上、变量上等&#xff0c;给类的各个组成部分一些额外的表示&#xff0c;能够被编译器识别。 2.常见注解 Override: 描述一个方法是复写的父类方法 Deprecate: 描述一个方法是过时的方法&#xff0c;调…

Java对象引用四个级别(强、软、弱、虚)

转载自 Java对象引用四个级别&#xff08;强、软、弱、虚&#xff09; 最近&#xff0c;高级Java技术栈微信群中&#xff0c;有一些猿友在讨论JVM中对象的周期问题&#xff0c;有谈到引用的级别&#xff0c;现在为大家做个总结吧&#xff0c;虽然大多数公司并没有意识或者用到这…

反射和配置文件的实际应用

1.利用反射完成不同参数赋值 <1>无参构造[默认赋值] Student 和 Teacher皆为JavaBean类 public class Demo1 {public static void main(String[] args) throws InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessException {//…

thinking-in-java(13) String字符串

【13.1】不可变String 1&#xff09;String对象是不可变的&#xff0c;具有只读特性&#xff1b; 【荔枝-String对象是不可变的】 public class Immutable {public static String upcase(String s) {return s.toUpperCase();}public static void main(String[] args) {Strin…

Java7任务并行执行神器:ForkJoin框架

转载自 Java7任务并行执行神器&#xff1a;Fork&Join框架Fork/Join是什么&#xff1f;Fork/Join框架是Java7提供的并行执行任务框架&#xff0c;思想是将大任务分解成小任务&#xff0c;然后小任务又可以继续分解&#xff0c;然后每个小任务分别计算出结果再合并起来&#…

单元测试和日志技术

1.Junit使用的基本流程 <1>将junit的jar包导入到工程中 <2>编写测试方法该测试方法必须是公共的无参数无返回值的非静态方法在测试方法上使用Test注解标注该方法是一个测试方法 <3>选中测试方法右键通过junit运行该方法 Junit点击下载 2.Junit常用的三个注…

DB2书籍推荐!

链接&#xff1a; http://blog.csdn.net/db2cn/article/details/4336619第一本《循序渐进DB2——DBA系统管理、运维与应用案例》&#xff1a;内容简介DB2数据库是IBM 公司关系型数据库核心产品&#xff0c;在国内以及全球有着广泛的应用。针对DB2初学者&#xff0c;本书循序渐进…

@Controller,@Service,@Repository,@Component详解

转载自 Controller,Service,Repository,Component详解 Controller 用来表示一个web控制层bean&#xff0c;如SpringMvc中的控制器。 Service 用来表示一个业务层bean。 Repository 用来表示一个持久层bean&#xff0c;即数据访问层DAO组件。 Component 用来表示一个平常的普通组…

thinking-in-java(12)通过异常处理错误

【12.0】开场白1&#xff09;java的基本理念&#xff1a;结构不佳的代码不能运行&#xff1b;2&#xff09;改进的错误恢复机制&#xff1a;是提供代码健壮性的最强有力的方式&#xff1b;3&#xff09;java异常&#xff1a;3.1&#xff09;java采用异常来提供一致的错误报告模…

分布式系统架构常识:CAP理论

转载自 分布式系统架构常识&#xff1a;CAP理论什么是CAP理论&#xff1f; 2000年7月&#xff0c;加州大学伯克利分校的Eric Brewer教授在ACM PODC会议上提出CAP猜想。2年后麻省理工学院的Seth Gilbert和NancyLynch从理论上证明了CAP&#xff0c;之后CAP理论正式成为分布式计算…

GIt代码管理仓库

1.Git的概念 a.Git是一个代码版本控制工具&#xff0c;有下面几个特点 <1>Git可以用于备份项目代码 <2>Git可以管理代码的各个版本 <3>Git可以方便大家协同工作 <4>Git可以方便代码追责 b.Git和SVN对比 SVN是集中式的版本控制系统&#xff0c;而Git是…

程序员三年的门槛该如何跨过去?

转自&#xff1a; http://blog.csdn.net/singit/article/details/78668490第一阶段&#xff1a;三年 我认为三年对于程序员来说是第一个门槛&#xff0c;这个阶段将会淘汰掉一批不适合写代码的人。这一阶段&#xff0c;我们走出校园&#xff0c;迈入社会&#xff0c;成为一名程…

静态资源Html基础语法

1.div划分【样式控制】 <style>div {/*显示边框*/border: 1px solid pink;/*宽度 占用屏幕的60%*/width: 60%;/*高度 500像素*/height: 500px;/*边框外边距*/margin: auto;/*文字居中*/text-align: center;/*height: 500px;*//*line-height: 500px;*/}</style>2.d…

关系型数据的分布式处理系统:Cobar

转载自 关系型数据的分布式处理系统&#xff1a;CobarCobar简介 Cobar是关系型数据的分布式处理系统&#xff0c;它可以在分布式的环境下像传统数据库一样为您提供海量数据服务。Github&#xff1a;https://github.com/alibaba/cobar整体架构图&#xff1a;快速启动场景 系统对…

thinking-in-java(16) 数组

【16.1】数组有什么特殊 1&#xff09;数组与其他类型容器的区别&#xff1a; 效率&#xff0c;类型和保持基本类型的能力&#xff1b;数组是效率最高的存储和随机访问对象引用序列的方式&#xff1b;数组大小固定&#xff0c;容器大小可以不固定&#xff0c;所以这增加了弹性…