1. 获取环境变量
Java代码
1. System.getenv("ATH");
2. System.getenv("JAVA_HOME");
2. 获取系统属性
Java代码
1. System.getProperty("pencil color"); // 得到属性值
2. java -Dpencil color=green
3. System.getProperty("java.specification.version"); // 得到Java版本号
4. Properties p = System.getProperties(); // 得到所有属性值
5. p.list(System.out);
3. StringTokenizer
Java代码
1. // 能够同时识别, 和 |
2. StringTokenizer st = new StringTokenizer("Hello, World|of|Java", ", |");
3. while (st.hasMoreElements()) {
4. st.nextToken();
5. }
6.
7. // 把分隔符视为token
8. StringTokenizer st = new StringTokenizer("Hello, World|of|Java", ", |", true);
4. StringBuffer(同步)和StringBuilder(非同步)
Java代码
1. StringBuilder sb = new StringBuilder();
2. sb.append("Hello");
3. sb.append("World");
4. sb.toString();
5. new StringBuffer(a).reverse(); // 反转字符串
5. 数字
Java代码
1. // 数字与对象之间互相转换 - Integer转int
2. Integer.intValue();
3.
4. // 浮点数的舍入
5. Math.round()
6.
7. // 数字格式化
8. NumberFormat
9.
10. // 整数 -> 二进制字符串
11. toBinaryString() 或valueOf()
12.
13. // 整数 -> 八进制字符串
14. toOctalString()
15.
16. // 整数 -> 十六进制字符串
17. toHexString()
18.
19. // 数字格式化为罗马数字
20. RomanNumberFormat()
21.
22. // 随机数
23. Random r = new Random();
24. r.nextDouble();
25. r.nextInt();
6. 日期和时间
Java代码
1. // 查看当前日期
2. Date today = new Date();
3. Calendar.getInstance().getTime();
4.
5. // 格式化默认区域日期输出
6. DateFormat df = DateFormat.getInstance();
7. df.format(today);
8.
9. // 格式化制定区域日期输出
10. DateFormat df_cn = DateFormat.getDateInstance(DateFormat.FULL, Locale.CHINA);
11. String now = df_cn.format(today);
12.
13. // 按要求格式打印日期
14. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
15. sdf.format(today);
16.
17. // 设置具体日期
18. GregorianCalendar d1 = new GregorianCalendar(2009, 05, 06); // 6月6日
19. GregorianCalendar d2 = new GregorianCalendar(); // 今天
20. Calendar d3 = Calendar.getInstance(); // 今天
21. d1.getTime(); // Calendar或GregorianCalendar转成Date格式
22. d3.set(Calendar.YEAR, 1999);
23. d3.set(Calendar.MONTH, Calendar.APRIL);
24. d3.set(Calendar.DAY_OF_MONTH, 12);
25.
26. // 字符串转日期
27. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
28. Date now = sdf.parse(String);
29.
30. // 日期加减
31. Date now = new Date();
32. long t = now.getTime();
33. t += 700*24*60*60*1000;
34. Date then = new Date(t);
35.
36. Calendar now = Calendar.getInstance();
37. now.add(Calendar.YEAR, -2);
38.
39. // 计算日期间隔(转换成long来计算)
40. today.getTime() - old.getTime();
41.
42. // 比较日期
43. Date 类型,就使用equals(), before(), after()来计算
44. long类型,就使用==, <, >来计算
45.
46. // 第几日
47. 使用 Calendar的get()方法
48. Calendar c = Calendar.getInstance();
49. c.get(Calendar.YEAR);
50.
51. // 记录耗时
52. long start = System.currentTimeMillis();
53. long end = System.currentTimeMillis();
54. long elapsed = end - start;
55. System.nanoTime(); //毫秒
56.
57. // 长整形转换成秒
58. Double.toString(t/1000D);
7. 结构化数据
Java代码
1. // 数组拷贝
2. System.arrayCopy(oldArray, 0, newArray, 0, oldArray.length);
3.
4. // ArrayList
5. add(Object o) // 在末尾添加给定元素
6. add(int i, Object o) // 在指定位置插入给定元素
7. clear() // 从集合中删除全部元素
8. Contains(Object o) // 如果Vector包含给定元素,返回真值
9. get(int i) // 返回 指定位置的对象句柄
10. indexOf(Object o) // 如果找到给定对象,则返回其索引值;否则,返回-1
11. remove(Object o) // 根据引用删除对象
12. remove(int i) // 根据 位置删除对象
13. toArray() // 返回包含集合对象的数组
14.
15. // Iterator
16. List list = new ArrayList();
17. Iterator it = list.iterator();
18. while (it.hasNext())
19. Object o = it.next();
20.
21. // 链表
22. LinkedList list = new LinkedList();
23. ListIterator it = list.listIterator();
24. while (it.hasNext())
25. Object o = it.next();
26.
27. // HashMap
28. HashMap<String, String> hm = new HashMap<String, String>();
29. hm.get(key); // 通过key得到value
30. hm.put("No1", "Hexinyu");
31. hm.put("No2", "Sean");
32. // 方法1: 获取全部键值
33. Iterator<String> it = hm.values().iterator();
34. while (it.hasNext()) {
35. String myKey = it.next();
36. String myValue = hm.get(myKey);
37. }
38. // 方法2: 获取全部键值
39. for (String key : hm.keySet()) {
40. String myKey = key;
41. String myValue = hm.get(myKey);
42. }
43.
44. // Preferences - 与系统相关的用户设置,类似名-值对
45. Preferences prefs = Preferences.userNodeForPackage(ArrayDemo.class);
46. String text = prefs.get("textFontName", "lucida-bright");
47. String display = prefs.get("displayFontName", "lucida-balckletter");
48. System.out.println(text);
49. System.out.println(display);
50. // 用户设置了新值,存储回去
51. prefs.put("textFontName", "new-bright");
52. prefs.put("displayFontName", "new-balckletter");
53.
54. // Properties - 类似名-值对,key和value之间,可以用"=",":"或空格分隔,用"#" 和"!"注释
55. InputStream in = MediationServer.class.getClassLoader().getResourceAsStream("msconfig.properties");
56. Properties prop = new Properties();
57. prop.load(in);
58. in.close();
59. prop.setProperty(key, value);
60. prop.getProperty(key);
61.
62. // 排序
63. 1. 数组:Arrays.sort(strings);
64. 2. List:Collections.sort(list);
65. 3. 自定义类:class SubComp implements Comparator
66. 然 后使用Arrays.sort(strings, new SubComp())
67.
68. // 两个接口
69. 1. java.lang.Comparable: 提供对象的自然排序,内置于类中
70. int compareTo(Object o);
71. boolean equals(Object o2);
72. 2. java.util.Comparator: 提供特定的比较方法
73. int compare(Object o1, Object o2)
74.
75. // 避免重复排序,可以使用TreeMap
76. TreeMap sorted = new TreeMap(unsortedHashMap);
77.
78. // 排除重复元素
79. Hashset hs - new HashSet();
80.
81. // 搜索对象
82. binarySearch(): 快 速查询 - Arrays, Collections
83. contains(): 线型搜 索 - ArrayList, HashSet, Hashtable, linkedList, Properties, Vector
84. containsKey(): 检 查集合对象是否包含给定 - HashMap, Hashtable, Properties, TreeMap
85. containsValue(): 主 键(或给定值) - HashMap, Hashtable, Properties, TreeMap
86. indexOf(): 若 找到给定对象,返回其位置 - ArrayList, linkedList, List, Stack, Vector
87. search(): 线 型搜素 - Stack
88.
89. // 集合转数组
90. toArray();
91.
92. // 集合总结
93. Collection: Set - HashSet, TreeSet
94. Collection: List - ArrayList, Vector, LinkedList
95. Map: HashMap, HashTable, TreeMap
8. 泛型与foreach
Java代码
1. // 泛型
2. List<String> myList = new ArrayList<String>();
3.
4. // foreach
5. for (String s : myList) {
6. System.out.println(s);
7. }
9. 面向对象
Java代码
1. // toString()格式化
2. public class ToStringWith {
3. int x, y;
4. public ToStringWith(int anX, int aY) {
5. x = anX;
6. y = aY;
7. }
8. public String toString() {
9. return "ToStringWith[" + x + "," + y + "]";
10. }
11. public static void main(String[] args) {