JAVA相关文章索引(6)
基本常识
①构造方法作用就是对类进行初始化。 如果你没有定议任何构造方法的形式,程式会为你取一个不带任何参数的构造函数,那么你产生类的对像时只能用不带参数的方法,如:class a {}//没有任何构造函数。
②但是如果已经有了一个有参数的构造方法,那么无参数的构造方法就不会默认被加上.但此时如果自己不构造个无参的构造方法的话,你就只能调用带参的构造方法,因为此时系统不会像①那样为你取一个无参的构造方法,必须自己构造。
①使用this引用成员变量
②使用this关键字引用构造方法
③使用this代表自身类的对象
多继承坏处:引用变量和调用方法均有歧义
在接口中不能有实例变量,只能有静态的常量,不能有具体的方法(包含方法体),只能有抽象方法,因此也就摒弃了多继承的缺点。
放在什么位置不重要,重要的是,无论任何情况,都要有返回值,包括判断,异常等等,如果有判断,条件成立,有返回值,条件不成立,也得有返回值
-
Java如何随机取List中的数据?
java中集合随机取数据
Collections.shuffle(list);
怎么在java的用random的nextint产生一个0-100的数
random的nextInt(int n)方法可以生成一个介于0(包含)到n(不包含)之间的整数
盲目删除,会报异常,因为。。。
因为你删除了元素,但是未改变迭代的下标,这样当迭代到最后一个的时候就会抛异常咯。
/*借助getOrDefault累计数组或者集合中每个元素的个数*/
int[] array={1,2,3,4,5,2,3,3,4,4,4,5};
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
for(int i=0;i<array.length;i++){
map.put(array[i], map.getOrDefault(array[i], 0)+1);
}
for(Integer integer : map.keySet()){
System.out.println(integer + " : " + map.get(integer));
}
//输出结果如下:
1 : 1
2 : 2
3 : 3
4 : 4
5 : 2
借助Compartor实现Map的二级排序
Queue
①poll 移除并返问队列头部的元素
②peek 返回队列头部的元素
③take 移除并返回队列头部的元素
Eclipse&IntelliJ IDEA
End键
alt+shift+s
syso+Enter
Java——Editor——Content Assist——Auto activation triggers for Java,可见默认的只有.(,三个字符会自动补全,可以将其修改为.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ,输入字母都会有自动补全功能了
写好if后按智能提示的快捷键alt + /
①打开Setting
②找到File and Code Templates
③找到Includes
④修改掉${User}即可,可以改为
转化
- String <—> int
String —> int:
int i = Integer.parseInt([String])
int —> String:
1.) String s = String.valueOf(i);
2.) String s = Integer.toString(i);
3.) String s = "" + i;
- 字母 <—> ASCII
字母 —> ASCII:
char c = 'a';
int i = (int)c;
ASCII —> 字母:
int i = 65;
char c = (char)i;
- List <—> String[]:
List —> String[]:
String[] strings = new String[list.size()];
String[] —>List:
List list = java.util.Arrays.asList(s);
遍历
-
String
java11-4 字符串的遍历以及字符串中各类字符的统计
Debug
最简单的解决办法是将public class改为public static class.
Eclipse
Override是JDK5 就已经有了,但有个Bug,就是不支持对接口的实现,认为这不是Override而JDK6 修正了这个Bug,无论是对父类的方法覆盖还是对接口的实现都可以加上@Override
一般是由于jdk版本低于1.5造成,改为1.6或者更高即可。但要注意的是Preference 对话框中看到的是全局参数,它只是个默认值,在项目属性中我们可以再覆盖项目自己的值。你需要检查项目属性设置中是否启用“启用项目自己的设置”。
点击windos–>Customize Perspective