03匿名内部类、eclipse快捷键、String相关知识-2018.7.11
- 1.匿名内部类(只针对重写一个方法时候使用,不能向下转型,因为没有子类类名)
-
- new Inter(){
- public void print{....}
- }.print();//Inter 是接口,要重写抽象方法,整个是Inter的子类对象
- 2.初始化值
- 成员变量:有默认初始化值
- 局部变量:没有,必须定义,赋值,然后才能使用
- 3.eclipse快捷键
- alt+shift+s+C生成空参构造
- alt+shift+s+o生成有参构造
- alt+shift+s+r生成get和set方法
- ctrl+alt +下键 向下复制
- ctrl+alt +上键 向上复制
- Alt+/ 起提示作用
- A:新建 ctrl + n
- B:格式化 ctrl+shift+f
- C:导入包 ctrl+shift+o
- D:注释 ctrl+/,ctrl+shift+/,ctrl+shift+\
- E:代码上下移动 选中代码alt+上/下箭头
- F:查看源码 选中类名(F3或者Ctrl+鼠标点击)
- G:查找具体的类 ctrl + shift + t
- H:查找具体类的具体方法 ctrl + o
- I:给建议 ctrl+1,根据右边生成左边的数据类型,生成方法
- J:删除代码 ctrl + d
- K:抽取方法alt + shift + m
- L:改名alt + shift + r
- 4.jar包
- 打jar包:选中项目--右键--Export(导出)--Java--Jar--自己指定一个路径和一个名称--Finish
- 导入jar包:复制到项目路径下并添加至构建路径。可以建一个文件夹放jar包
- 5.一般重写toString方法,重写可以更方便的显示属性,如果直接打印对象的引用,会默认调用toString方法。alt+shift+s可以系统重写
- 6.比较对象时一般重写equals方法。alt+shift+s可以系统重写
- 7.scanner
- hasNextXxx() 判断是否还有下一个输入项,其中xxx可以是Int,double等,如果需要判断是否下一个字符,则可以省略xx
- nextxxx() 获取下一个输入项,xxx的含义同上,scanner用空格,回车分隔。
- 8.String的构造方法
- public String (byte[] bytes):把字节数组转成字符串(解码作用)
- public String (byte[] bytes,int index,int count):把字符数组的一部分转成字符串(index表示从第index位开始,count表示转几个)
- public String(char[] values):把字符数组转成字符串
- public String(char[] values,int index,int count):类似第二个
- 9.String s1 = "a" + "b" + "c"; String s2 = "abc"; String s = "ab"; String s3 = s +"c"; System.out.println(s1==s2);//true;常量优化机制 System.out.println(s2==s3);//false;s2是常量池,s3是toString方法得到的abc;
- 10.String判断
- boolean equals(Object obj);比较字符串内容是否相同,区分大小写;
- boolean equalsIgnoreCase(String str);比较字符串内容是否相同,不区分大小写;
- boolean contains(String str);判断大字符串是否包含小字符串
- boolean startsWith(String str);判断是否以某个字符串开头
- boolean endsWith(String str);判断是否以某个字符串结尾
- boolean isEmpty(String str);判断是否空
- ""既是字符串常量,也是String类的对象,null是空常量,不能调用任何方法。
- 11. 如果是字符串常量和字符串变量比较,通常都是字符串常量调用方法,将变量当作参数传递,防止空指针异常。
- 12.String获取
- length 获取长度,中文也算一个字符
- char charAt(int index);获取字符
- int indexof(int ch);返回指定字符在此字符串中第一次出现处的索引,如果不存在返回-1。
- int indexof(String str);返回指定字符串在此字符串中第一次出现处的索引,获取第一个字符的位置,不存在返回-1.
- int indexof(int ch,int formIndex);就是字符ch在字串fromindex位后出现的第一个位置.没有找到返加-1
- int indexof(String str,int formIndex);返回指定字符串在此字符串从指定位置后第一次出现处的索引
- lastIndexOf 从后向前找,第一次出现的字符,索引不变,从左到右。同上四个
- String substring(int start);从指定位置开始截取字符串,默认到末尾。
- String substring(int start,int end);从指定位置开始到指定位置结束截取字符串,包头不包尾。
- 13.String转换
- byte[] getBytes(); 把字符串转换为字节数组,中文(通过gbk码表转换,一个中文代表两个字节)gbk码表特点中文的第一个字节肯定是负数。
- char[] toCharArray();把字符串转换为字符数组
- static String valueOf(char [] chs);把字符数组转成字符串
- static String valueOf(int i);把int转成字符串
-
- 了解一下
- * String toLowerCase();把字符串转成小写
- * String toUpperCase();把字符串转成大写
- * String concat(String str);把字符串拼接,用+号更强大,可以用字符串与任意类型相加。
- 14.String 替换
- String replace(char old,char new);替换其中一个字符,不存在的话不改变
- String replace(String old,String new);替换一个串,不存在的话不改变
- String trim();去掉字符串两端空格
- int compareTo(String str);按照字典顺序比较字符串
- int compareToIgnoreCase(String str);按照字典顺序比较字符串,不区分大小写