1.@Table注解
用来标识实体类与数据表的对应关系
@Table(name = "表名")
2.@Column注解
用来标识实体类中属性与数据表中字段的对应关系
@Column(name = "字段名", length=1000) //length属性表示字段的长度,默认255
3.instanceof关键字
java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。
用法: result = object instanceof class
参数:
result:布尔类型
Object:必选项,任意对象表达式
Class:必选项,任意已定义的对象类
说明: 如果 object 是 class 的一个实例,则 instanceof 运算符返回 true。如果 object 不是指定类的一个实例,或者 object 是 null,则返回 false。
4.任务调度 task:scheduler
使用时需要在类名前加 @Service(demoTask)
用法:
<task:scheduler id="demoTaskScheduled" pool-size="1"/>
<task:scheduled-tasks scheduler="demoTaskScheduled">
<task:scheduled ref="demoTask" method="myTestWork" cron="0/10 * * * * ?" fixed-rate="10000"/>
</task:scheduled-tasks>
说明:
pool-size:可以指定执行线程池的初始大小、最大大小
cron:调度时间表达式
fixed-rate:任务执行时间间隔(毫秒)
5.判空
a != null && !a.isEmpty()
6.增强 for 循环 for (Class Object : Object)
List<String> strs = new ArrayList<String>();
strs.add("hello");
strs.add("world");
for( String s : strs){ // 把strs中的每个元素依次赋值给s。第一次吧hello复制给s
System.out.println(s); // 第一次输出hello,第二次输出world
}
和下面的程序执行结果一样
int size = strs.size();
for(int i =0 ; i < size; i++){
System.out.println(strs.get(i));
}
7.占位符 S%
System.out.println( "s% 是 s% 的3倍",a,b)
8.Joiner拼接字符串
先导依赖:
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>18.0</version>
</dependency>
然后:
List<String> lists = Arrays.asList("A", "B", "C", "D");
String result = Joiner.on(",").join(lists);
System.out.println(result); //输出 A,B,C,D
on() 方法制定拼接符号,这里是 ,
join() 方法可以传递三种格式的参数:迭代对象,数组,多个单一的拼接对象
9. 三元运算符(a ? b : c)
逻辑表达式结果为 true,整个表达式的结果就是b
逻辑表达四的结果为 false, 整个表达式的结果为c
三元运算符用来代替 if...else,三元运算符的结果有表达式由 b 和 c 决定,b、c 类型要一致
10.定义 logger
private static CSCloudLog logger = CSCloudLog.getLogger(test.class);
11.replace 和 replaceAll
replace 和 replaceAll是 Java 中常用的替换字符的方法
public String replace(char oldChar, char newChar) 在字符串中用newChar字符替代oldChar字符,返回一个新的字符串
public String replaceAll(String regex,String replacement) 使用给定的 replacement 字符串替换此字符串匹配给定的正则表达式的每个子字符串。
区别:
1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也就是字符串);
2)replaceAll的参数是regex,即基于正则表达式的替换,比如,可以通过 replaceAll("\\d", "*")把一个字符串所有的数字字符都换成星号;
replaceAll("__", "\\$") 将 __ 转换成 $
12.Java 判断 String 是否以某个字符串开头或结尾
Java判断String是否以某个字符串开头:
String str = "hello world";
System.out.println(str.startsWith("he"));//输出true
System.out.println(str.startsWith("hi"));//输出false
Java判断String是否以某个字符串结尾:
String str = "hello world";
System.out.println(str.endsWith("ld"));//输出true
System.out.println(str.endsWith("ll"));//输出false
13.新增 Dao 时:写Dao -> 写Service -> 写Dao.xml
14.Java JSON 中 optString 和 getString 的区别
Json.optString("value", "");
optString 方法会在对应的key中的值不存在的时候返回一个空字符串或者返回指定的默认值,但是getString方法会出现空指针异常的错误。
15.
reverse() 方法
表示的是将一个输入流倒叙输出,反转输入流。
举例:
StringBuffer sb =
new
StringBuffer(
"abcd"
);
System.out.println(sb.reverse().toString());
输出结果:dcba;
备注:此方法针对的是io流,不能针对字符串。
16.containsAll() 方法
判断B链表是不是A链表的子集,可以使用 A.containsAll(B) 来判断,当返回值是 true 的时候就表明 B链表 是 A链表 的子集,当返回值是 false 时候就表明 B链表 不是 A链表 的子集。
举例:
ArrayList<String> A = new ArrayList<String>();
A.add("a");
A.add("b");
ArrayList<String> B = new ArrayList<String>();
B.add("b");
System.out.println(A.containsAll(B));
输出结果:true
17.
substring(0, 3) 方法
根据字符串下标,截取字符串的内容
举例:
a = "abcd";
System.out.println(a.substring(0,3)); //输出 "abc",截取字符串第 0 到第 2 的内容,不包括第 3
18. split("__")[0]方法
str.split()方法用来分割字符串,里面的参数是指以何种方式来分割 split("__") 指定了两个下划线来分割,[0] 指获取分割后第0位字符
举例:
str = "a_b__c";
System.out.println(str.split("__")[0]); //分割成 "a_b" 和 "c",最后输出 "a_b"
19.
for(int i = 0;;i++){ }
;; 这表示条件,中间是空的也就是没有条件,i++ 就是一直往后累加,是一个死循环
通常循环体里面还要设置一定的条件,当循环导满足条件之后,就 break;
20.if (b1 = -1){}
in = new FileInputStream(file);
int b = in.read();
if (b = -1){}
输入数据流的操作,in 为一个 FileInputStream 对象,read() 是 in 的方法,每次读取一个字节的二进制数据,并赋值给 b
并判断 b 的值是否等于 -1,当 值等于 -1 时,代表数据读取完毕