一、浩言
无论怎样,该失去的,还是在失去。
二、背景
最近挺烦的,因为拿到一家公司的offer,但是公司需要银行流水,我报工资的时候报高了,哎,好郁闷,不知道怎么破,所以了,昨天到今天上午都很烦躁的,所以上面的语句就是不管怎样,该失去的还是会失去,只能顺其自然了,我个人觉得我现在拿到的是看能力,跟之前的工资没关。怎么感觉就是我自己的观点了。。。
三、内容
3.1 数组复制
最近补数据结构的知识,看ArrayList的东西,如下面代码
public static <T,U> T[] copyOf(U[] original, int newLength, Class<? extends T[]> newType) {
T[] copy = ((Object)newType == (Object)Object[].class)
? (T[]) new Object[newLength]
: (T[]) Array.newInstance(newType.getComponentType(), newLength);
System.arraycopy(original, 0, copy, 0,
Math.min(original.length, newLength));
return copy;
}
这里面的代码刚刚看的时候涉及到转型问题,如果是Object类型,就是用Object对象,否则使用反射获取对象数组。
关于转型的我也好久没看了,这次就记载下来
3.2 数据转型
所以说说转型,直接上代码看看
package com.mouse.moon.obj;
public class Person {
public void say(String something){
System.out.println(something);
}
}
package com.mouse.moon.obj;
public class Man extends Person {
public void say(String something){
System.out.println("man------>"+something);
}
}
package com.mouse.moon.obj;
public class Main {
public static void main(String args[]){
Person person = new Man();
person.say("person");
//这里强转出错
// Man man1 = (Man)new Person();
// man1.say("man");
Man man2 = (Man)person;
man2.say("man2");
Object obj = "123";
String Str =(String)obj;
Object obj1 = 123;
String Str1 =(String)obj1;//报错
}
}
上面的代码在Man man1 = (Man)new Person();这里会出错,因为类型不对,需要看指向的引用类型。
所以对比下面的字符串的转换,下面这个123的数字转换为String就会报错。
3.3 数据泛型
上面的T,U都是泛型的指定,有几个泛型就指定几个泛型
public <T,U> Map<T,U> getData(){
return null;
}
public <T,K,V> Map<K,V> getSomething(Class<T> clz){
return null;
}
所以了,这都是泛型,个人别没有什么很大区别
网友评论