DevExperience(1710)
生活随笔
收集整理的這篇文章主要介紹了
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】
總結
以上是生活随笔為你收集整理的DevExperience(1710)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: thinking-in-java(11)
- 下一篇: 关闭阀门有什么讲究