1. Java中经常报NullPointerException,那么Java中到底有没有指针
- 原则上Java中是没有指针(pointer)的,只有引用(reference)
- 但是reference是借鉴了C/C++中的指针思想
- Java中的引用不能够delete,我们也不能够获取这个引用所存的内存地址,这就避免了程序员直接操纵内存里面的数据,不存在内存泄漏
refence在Java里面只有很简单的几个功能
1. 指向一个对象,如Person person = new Person();
2. 调用对象的方法,person.getAge();
3. 指向另外一个对象,Person person_1 = new Person(); person = person_1;
2. String字符串操作
- 获取单个字符
String str="abc";
char ch=str.charAt(1);
- 获取子串
String str="abcdefgh";
String sub_str=str.substring(0,3);//截取了abc,因为截取的不包括末尾的索引
- 获取字符串的字符个数(不是字节数,有中文就不准了)
String str="abc中国";
int count=str.length();//count是5,不是7
//获取数组长度是数组类的一个属性,不需要用函数获取,直接length就可以访问
- String字符串转为char数组
String str="abc";
char[] chs=str.toCharArray();
3. Java中Set的用法
- 继承自Collection类,特点是不会存储相同元素
- 用法
Set<String> set=new HashSet<>();
set.add("Hello");
boolean flag=set.contains("hello");//结果为true
boolean flag=set.isEnpty();//结果为false
set.remove("hello");
int size=set.size();