【Java】Java中的一些小知识点

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)

用法:

"demoTaskScheduled" pool-size="1"/>

"demoTaskScheduled">  

    "demoTask" method="myTestWork" cron="0/10 * * * * ?" fixed-rate="10000"/>  

说明:

pool-size:可以指定执行线程池的初始大小、最大大小

cron:调度时间表达式

fixed-rate:任务执行时间间隔(毫秒)

 

5.判空 

a != null && !a.isEmpty()

 

6.增强 for 循环     for (Class Object : Object) 

List strs = new ArrayList();

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拼接字符串

先导依赖:

    com.google.guava

    guava

    18.0

然后:

List 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 A = new ArrayList();

A.add("a");

A.add("b");

ArrayList B = new ArrayList();

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 时,代表数据读取完毕

你可能感兴趣的:(Java)