黑马程序员 知识点总结-一部分

---------------------- android培训java培训、期待与您交流! ----------------------

包装类创建对象传入参数后,新建对象中的数据就不能改变。

如Integer I = new Integer(“4”)

被创建对象中的值就是4,如操作I = 5;其实就是装箱将值是5的对象赋给了i。

 

数组转list

使用Arrays的静态方法 asList()

这个方法的实现是使用参数引用的数组大小来new一个ArrayList对象。(到底是指向这个对象还是创建数组大小的ArrayList??)

如果ArrayList对其中元素进行了设置,比如讲第一个元素设置成“nba”,那么数组中的第一个元素也变成了”nba“

 

如果需要改变长度,只要创建一个ArrayList对象,对数组进行遍历,并使用List的add()方法,将数组中的元素加入到ArrayList中即可

<T> T[] toArray(T[] a)与 Object[]toArray()区别

 

Collection转数组

使用collection的toArray方法

 

高级for 如果不加泛型就编译失败PIC0001 PIC0002

 

for(类型  变量   :Collection集合|数组)

 

 

List和Set之间互转只要互相丢到构造函数

 

 

被final修饰的类不能创建子类

 

Integer.MAX_VALUE安全性判断

 

 

Integer.parseInt(“0x003c”,16)是不合法的 只能不能有x

 

 

本来要明确传入的参数类型,现在主要泛型里定义了,传什么都行----PIC0010

创建对象,明确了对象类型

 

定义了泛型之后,在类中的函数中传入参数只要写泛型的类型即可,如T a

 

在方法上定义了泛型之后,只要传入参数是什么类型,那么方法中操作的就是什么类型---PIC0011  提高了程序的复用性

Object和泛型的区别,如果在方法中定义Object 所有的对象是都能接受,但是不能使用子类的特有方法,如果用泛型接受对象,那么还可以使用子类的特有方法,又可以接受所有的类型

泛型定义在方法上,可以在一个类中定义不同的类型,方便方法的调用

将泛型定义在类上,还可以在这个类里面定义泛型方法

 

泛型在建立对象的时候才会被明确,如果静态方法中调用泛型类,就会出现静态上下文中引用非静态成员的错误。

 

接口的实现和类的继承是一样的,如果用接口类型去创建子类对象,不能调用子类的特有方法

 

子类实现了接口,接口上有泛型,只要确定接口的泛型类型即可,不用在类后面写泛型

如果子类实现了接口,还是不知道要使用的类型,那么就在子类的类后面加上泛型,实现接口,在接口的后面也加上泛型。

 

泛型左右两边需要一致

 

如果将函数加入泛型<T>,那么这个方法里面可以对T进行操作,比如创建T t = it.next(),如果是 ? 的话就不能操作

T代表具体类型,? 不明确具体类型

 

? extends fu 上限限定

? super Zi 下限限定

 

如果用?接受进来不能使用子类的特有方法,如果用?extends fu接受进来,那么就可以使用子类的特有方法,不会报错。

 

比较器,传入student,也能比较,比较父类的成员

 

Compare传入student和person都可以,因为都能接受student对象,调用了还是子类的方法

 

比较器如果建立了父类的比较器,子类都能用,但是比较器中只能使用父类的方法

 

内部类访问外部类成员需要加final

实例:

class Outer{ 

    public Object get(){

       final int x = 1;

       class Inner{

           public int hashCode() {                      

              return x ;

           }

       }

       Innerin = newInner();

       return in;

    }

}

public classPropTest {

    public static void main(String[] args) {

       Objecto = newOuter().get();

       System.out.println(o.hashCode());

    }

}

 

String+ 基本数据类型 其中是怎么转换的。

---------------------- android培训java培训、期待与您交流! ----------------------详细请查看: http://edu.csdn.net/heima
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值