5.5笔记 java基础增强
今天是来传智播客的第一天,幸亏之前看过thinking in java 感觉理解不是很吃力,但是感觉挺累的
1。外挂插件的步骤:
1,在eclipse的目录下建立links目录。
2,在links目录下,建立一个文件,内容为插件eclipse目录的父目录;
path=插件eclipse目录的父目录 path=F:\\Eclipse\\NLpack1-eclipse-SDK-3.2.1-win32
3,打开eclipse进行验证。
1.1泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个
参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。
1.2Java语言引入泛型的好处是安全简单的实现“任意化”。在Java SE 1.5之前,没有泛型的情况的下
,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转
换,而这种转换是要求开发者对实际参数类型可以预知的情况下进行的。对于强制类型转换错误的情况
,编译器可能不提示错误,在运行的时候才出现异常,这是一个安全隐患。
泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重
用率。
泛型的引入可以在编译时期检查类型的正确性
什么时候使用泛型 当操作的引用数据类型不确定的时候 就使用泛型
构造延迟
因为可以擦除功能,所以 List<Integer> 和 List<String> 是同一个类,编译器在编译 List<V> 时只
生成一个类(和 C++ 不同)。因此,在编译 List<V> 类时,编译器不知道 V 所表示的类型,所以它就
不能像知道类所表示的具体类型那样处理 List<V> 类定义中的类型参数(List<V> 中的 V)。
因为运行时不能区分 List<String> 和 List<Integer>(运行时都是 List),
擦除的补偿:
正是由于擦除的存在,所以在运行时才能知道确切类型信息的操作都无法执行
例如
:public class genergic<T>
{
public static test(Object org)
{
if(org instance T){}
T war=new T<>;
T[] array=new T(10);
T[] array=(T) new object(10);
}
}
但是可以用以下方法解决问题:
public class genergic<T>
{
Class<T> kind
genergic(Class<T> kind)
{
this.kind=kind;
}
public static test(Obje
相关文档:
JAVA技巧(Java定时执行任务的实现方法)2009年02月07日 星期六 10:36定时执行任务的三种方法:
1)java.util.Timer.
2)ServletContextListener.
3)org.springframework.scheduling.timer.ScheduledTimerTask & ......
private static List cloneObject(
Object obj) throws Exception {
ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(byteOut);
out.writeObject(obj);
ByteArrayInputStream byt ......
try {
Runtime.getRuntime().exec("C:\\xxx.exe");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} ......
学.NET就好比和爹妈一起出门,啥事都不用愁,因为爹妈都给你操心着了。
学Java就像自己出门,你要睁大眼睛看清周围的世界,并决定你自己的方向;
必要的时候,你要脱离一切束缚,自己搞一套框架来适应特殊需求。
在Java的世界里,有着形形色色的开源产品和框架。
它们就好像你在异 ......
JAVA finally字句的异常丢失和返回值覆盖解析
Java虚拟机在每个try语句块和与其相关的catch子句的结尾
处都会“调用”finally子句的子例程。实际上,finally子句在方法内部的表现很象“微型子例程”。finally子句正常结束后-指的是finally子句中最后一条语句正常执行完毕,不包括抛出异常,或执行re ......