从算法转开发的第四天(Java入门篇)-创新互联
第四天,进度 page176-195
成都创新互联服务项目包括缙云网站建设、缙云网站制作、缙云网页制作以及缙云网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,缙云网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到缙云省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!记录用Employee.equals方法判断相等性时,右边应是引用了Employee对象的Employee类或超类,这种情况才能算作是同类(都为Employee)的判断相等性
写一个类时如果重载了equals方法就必须重载hashCode方法
ArrayList目前使用的话作用就相当于C++中的vector,很熟悉啊!!
ArrayList.ensureCapacity方法只是规划出一片内存空间,实际长度并不是规划的空间长度,而是实际使用了的空间长度,也就是被add了的对象的个数,在确定了不会再add对象之后,还可以使用trimToSize方法削减多余规划出的空间
ArrayList下标也是从0开始
ArrayList.set方法不能新添新的对象,只能修改原有空间内的对象,只有数组列表的大小大于i时才能调用list.set(i,x)
可以把ArrayList和数组相结合,实现一个能随机访问的动态数组,代码如下:
var list = new ArrayList< Class >();
while(...){
Class x = new Class(...);
list.add(x);
}
var arr = new Class[list.size()];
list.toArray(arr); //toArray会将数组元素拷贝到一个数组中
和C++一样,ArrayList插入删除效率比较低,链表更适合多次插入删除操作
instanceof和getClass()用于比较类的引用对象时的不同若一个对象引用了该类的一个子类,(该对象 instanceof 该子类)的值为false,该对象.getClass()返回的值为子类
为什么Objects.hashCode(name)优于name.hashCode()?实际上,Objects.hashCode也是由Obbject.hashCode实现的,实现代码如下
public static int hashCode(Object o) {
return o != null ? o.hashCode() : 0;
}
关于super的用法super有两种用法,一种是重载超类方法时,使用super. +方法名来引用超类的方法;另一种是写构造器时需要直接引用超类的构造器,使用super(参数,参数...)来调用超类的构造器,如
public Manager(String name, double Salary, int year, int month, int day) {
//public Employee(String name, double Salary, int year, int month, int day)
super(name, Salary, year, month, day);
bonus = 0;
}
包里面写另一个包时,引用了外面的包能直接调用里面的包吗经过实践,不能直接调用,外面的包和里面的包需要单独引入
写一个名为ArrayList类时引用数组列表ArrayList报错——没有类型形参引用的ArrayList被认定为是我们自己写的ArrayList类,当然会报错,所以我们的类名不应该为ArrayList
关于装箱和拆箱的理解把一个int的整数包装成一个integer对象叫做装箱,把一个integer对象赋给一个int的整数叫做拆箱
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
分享标题:从算法转开发的第四天(Java入门篇)-创新互联
文章网址:http://ybzwz.com/article/dcegcd.html