JAVA中遗留的问题_java中遗留的小问题

一、类型转换

short s = 1; s = s + 1;  //false,因为1是int类型,会损失精度

short s = 1; s += 1;  //true,因为+=有自带强转

二、逻辑运算符

^逻辑异或:相同为false,不同为true

例如:情侣关系:男男、男女、女男、女女

三、参数传递

基本类型:形参的改变对实参没有影响

引用类型:形参的改变直接影响实参

四、成员变量和局部变量

成员变量:在类中方法外

局部变量:在类中方法内

五、多态

同一个引用指向多个对象,表现各个不同对象的方法。

父 f = new 子1();

父 f = new 子2();

父 f = new 子3();

六、抽象类:abstract

抽象类有构造方法,但是不能实例化;

成员方法既可以是抽象的(强制要求子类实现抽象方法,被abstract修饰的抽象方法无方法体(没有大括号{})),也可以是非抽象的(子类继承用,提高代码复用性)。

作用:用于子类访问父类数据的初始化。

抽象类不能使用private/final/static关键词

七、局部内部类访问局部变量

局部内部类访问局部变量必须用final修饰局部变量,使局部变量为常量来访问。

classOuter {private int num = 10;public voidmethod() {//int num2 = 20;

final int num2 = 20;classInner {public voidshow() {

System.out.println(num);//从内部类中访问本地变量num2; 需要被声明为最终类型

System.out.println(num2);//20

}

}

Inner i= newInner();

i.show();

}

}

八、TreeSet排序

1.自然排序:(元素比较)

让元素所属的类实现自然排序接口 java.lang.Comparable,必须重写compareTo方法。

2.比较器排序:(集合比较)

让集合的构造方法接收一个比较器接口的子类对象 java.util.Comparator。

内部类:

TreeSet treeSet = new TreeSet(new Comparator()(public intcompare(T t1, T t2) {int num = t1.getName().length() -t2.getName().length();int num2 = num == 0 ?t1.getName().compareTo(t2.getName()) : num;int num3 = num2 == 0 ? t1.getAge() -t2.getAge() : num2;returnnum3;

}

));

九、Map遍历

A、根据键找值

//创建集合对象

Map map = new HashMap();//获取所有的键(键的集合)

Set set =map.keyset();//遍历键的集合

for(K key : set) {

V value=map.get(key);

syso(key+ "-" +value);

}

B、根据键值对对象找键和值

//创建集合对象

Map map = new HashMap();//获取所有键值对对象的集合

Set> set =map.entrySet();//遍历键值对对象的集合,得到每一个键值对对象

for(Map.Entryme : set) {

K key=me.getKey();

V value=me.getValue();

Syso(key+ "," +value);

}

十、contains()方法底层依赖的是equals()方法,所以判断对象包含另一对象,需先重写equals()方法。

十一、Arrays工具类:public static List asList(T... a):把数组转成集合

十二、new FileInputStream("")和 class.getClassLoader().getResourceAsStream("")

前者根目录为项目根目录或者绝对路径,后者根目录为src目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值