上一页 1 2 3 4 5 6 7 8 ··· 14 下一页

2012年2月7日

摘要: 假设有如下类 class A{ public void show(Vector<Integer> v) {}} 在我们不知道Vector中数据的类型的时候 这时候我们只知道这个方法的名字 和参数的个数 ,我们来获取 范型化的实际类型 。 我们不可能通过 Vector对应的Class类来反射出 泛型集合中的类型 ,但是 我们却可以通过 这个方法所对应的Method类来实现 。具体如下 :import java.lang.reflect.Method;import java.lang.reflect.ParameterizedType;import java.lang.reflect. 阅读全文
posted @ 2012-02-07 19:25 风尘女子 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 我们在JAVA中 处处都用到了 范型 ,JAVA中的范型是从C++模板继承来的,不过 JAVA的 范型的功能 远远没有 C++那么强大 。我们知道在C++中 模板可以很方便的代替任意类型的数据 如下 ;template<class T>void show(T x){cout<<x<<endl ;}上面的T 可以代表任意类型的数据 ,这样 不是大大减少了 函数的重载次数 ,提高了效率呢。java是从C++过来的,理解了C++,jav也不在话下 。在java中自定义范型也可以用在 方法上 如下: 1、//这样声明的范型 可以代替任意类型数据 我们市场用到的键值对 阅读全文
posted @ 2012-02-07 16:42 风尘女子 阅读(197) 评论(0) 推荐(0) 编辑

2012年2月6日

摘要: java.util.HashMap<K,V>类型参数:K - 此映射所维护的键的类型V - 所映射值的类型 由于HashMap没有实现iterable 接口所以我们不能直接用 迭代for循环 来 迭代 HashMap 。 Set<Map.Entry<K,V>>entrySet() 返回此映射所包含的映射关系的 Set 视图,将HashMap中的键值对 映射到类型化Set中,映射后的Set只是一个HashMap的视图,我们不能对视图进行add操作,由于Set实现了Iterable接口 所以可以进行迭代操作。这个方法返回的collection集合的元素类型就是键 阅读全文
posted @ 2012-02-06 17:06 风尘女子 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 一、通配符?标识的范型化对象,可以标识任意类型的范型化 ,可以将任意类型化的值赋值给 ?通配符所规范化的类。 可以将任意类型的范型化类型 赋值给?通配符范型化的类型 。Collection<Integer> c=new ArrayList() ;c.add(1) ;c.add(5); //jdk1.5的自动装箱子=功能showCollection(c) ; public static void showCollection(Collection <?> col)//加上了?通配符类型化的集合 可以传递不同类型化的集合 ,但是只能调用与类型化无关的方法 与类型化有关的方法 阅读全文
posted @ 2012-02-06 14:49 风尘女子 阅读(122) 评论(0) 推荐(0) 编辑
摘要: Java中的范型的作用阶段是在 编译时,也就是说范型是给编译器看的 。我们经常看到 类 ArrayList<E> 后面的<E> 就是类型化参数,说明这个 ArrayList支持 范型化 。比如 ArrayList<Integer> 就叫做Integer类型化的ArrayList.,当编译完之后 在运行阶段 就会丢掉 类型化参数 。范型化后的 类型 与原始类型之间的操作: Collection c=new Vector<Integer>() ; 可以 Collection<Integer> c=new Vector() ; //也可以 阅读全文
posted @ 2012-02-06 13:09 风尘女子 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 在JDK1.5之后引入了 范型的概念,到底什么事范型的,在一段时间内 我也是很模糊 。。。。下面我用一个 ArrayList 来演示范型的作用 。我们知道ArrayList 可以看做是一个线性表 , 我们在为进行范型规范化的时候,这个线性表中可以存储的原始类型 可以是各种各样的类型 ,这就说明一个表中 存储了不同类型的数据 。 这样做很不安全,而且容易出错 。看下面一段代码,JAVA5以前的版本ArrayLsit col=new ArrayList() ;col.add(1) ;col.add("string") ;col.add(false) ;......看到上面一个A 阅读全文
posted @ 2012-02-06 12:07 风尘女子 阅读(253) 评论(0) 推荐(0) 编辑
摘要: CButtonST是一个功能强大的类,他可以产生各种不同风格的 Button按钮,可以在实际开发中使用,CButtonST是控件子绘制的原理 。CButtonST可以从网上下载到源文件 ,下载之后 加入到我们的工程中 。下面是使用方法 。1、创建一个Button控件 并为之 关联一个 Control变量 。2、修改Button控件的父类为 CButtonST//{{AFX_DATA(CXXDlg)enum { IDD = IDD_XX_DIALOG };CButtonSTm_btn; //在控件关联映射宏处修改 基类//}}AFX_DATA3、在Dialog的 OnInitDialog函数中作 阅读全文
posted @ 2012-02-06 10:54 风尘女子 阅读(346) 评论(0) 推荐(0) 编辑

2012年2月5日

摘要: 我们知道 对于 注解来说的声明和接口类似 ,那么 我们当然也可以为其添加属性 。 但是从 Java语音规范中得知,对于注解的属性类型 有限制 只能是 八个原始类型 String类型 Enum类型 Annotation注解类型 以及 Class类型 ,出了以上几个类型之外 为注解添加属性都会报错public @interface MyAnnotation{ String name() ;//添加String类型的属性 int[] arrayAttr() default {1,2,3,4,5}; //添加整形数组的属性 并且提供默认值 .......}这样添加了属性之后我们要使用注解就 需要给.. 阅读全文
posted @ 2012-02-05 17:22 风尘女子 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 我们用过 JDK给我们提供的 @Override @Deprecated @SuppressWarning 注解 ,这些注解是JDK给我们提供的 ,我们只是在用别人写好的东西 ,那么我们是否可以自己写注解呢?当然是可以的 。我们写的注解包括三个环节 1、 注解的声明 ,也就是注解类的定义 形式如下 @interface 来进行注解的声明 package me.test; import java.lang.annotation.* ;//导入注解包中所有注解 @Retention(RetentionPolicy.RUNTIME) //解释如下@Target(ElementType.TYPE)// 阅读全文
posted @ 2012-02-05 15:16 风尘女子 阅读(220) 评论(0) 推荐(0) 编辑
摘要: Annotation注解在Java中有着很广泛的 ,他是做为一种标识 为javac所识别 ,。每一个注解 都对应这一个 Java类 在java.lang包中 有三个注解 分别是Deprecated SuppressWarning Override 在使用 注解前必须要在 注解类前面加上@ 每增加一个注解 就意味着产生了一个注解对象 。注解就是一个标识 ,编译器 通过标识来输出不同的编译结果 。 Deprecated 过时的SuppressWarning 抑制警告Override 覆盖 比如@Deprecated 过时API注解我们在用到JDK提供的API的时候,在编译中遇到 这样的提示 提示用 阅读全文
posted @ 2012-02-05 12:38 风尘女子 阅读(236) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 14 下一页

导航