- 浏览: 32743 次
- 性别:
- 来自: 北京
最新评论
-
Corwen:
INSERT ... ON DUPLICATE KEY UPD ...
mysql insert的几点操作(DELAYED 、IGNORE、ON DUPLICATE KEY UPDATE )
import java.util.ArrayList; import java.util.Collection; import java.util.List; /** *泛型编程关键掌握两点: *1.在方法参数中使用通配符 *2.在方法的参数类型和返回类型中使用通用类型 */ /**关键技术 *1.通配符问号(?)表示任意类型.如"List<?>"表示可以存放任意对象类型的List *2.通配符可以接extends和super,表示有限制的通配符.如"List<? extends Parent>" * 声明的List能且仅能存放Parent及其子类的对象,而"List<? super Child>" * 声明的List仅能存放Child及其父类的对象 *3.通用类型是指不指定参数或者返回值的类型,常用一个大写的字母代表类型, * 它能代表任何类型,需要在方法声明的返回值前用<>声明通用类型.如"public <T> String * getName(T data)"的方法声明中,String前用<T>表示T是通用类型,它的data参数的类型是T, * 表示能接收任意类型的参数,方法的返回值是String类型 */ public class GeneralProgram { /**使用问号"?*通配符,"?"代表任何类型,所以它的参数可以是任何类型的Collection*/ public static void printCollection(Collection<?> collect){ if(collect == null){ return; } for(Object obj : collect){ System.out.println(obj + " "); } System.out.println(); } /**使用有限制的通配符"? extends",可以接受任何Parent及其子类的Collection*/ public static void printNames(Collection<? extends Parent> collect){ if(collect == null){ return; } for(Object obj : collect){ System.out.println(obj + " "); } System.out.println(); } /**将一个任意类型的数组添加到列表里*/ public static <T> List<T> arrayToList(T[] datas){ if (datas == null){ return null; } List<T> list_T = new ArrayList<T>(); for(T x : datas){ list_T.add(x); } return list_T; } /**在一组parent对象中查找名字为name的Parent对象*/ public static <T extends Parent> T findParent(T[] parents, String name){ if(parents == null){ return null; } T parent = null; //依次遍历Parent对象数组 for(T x : parents){ //如果Parent对象的name与参数name匹配,则退出遍历 if(x.name.equals(name)){ parent = x; break; } } //返回 return parent; } public static void main(String[] args){ /***指定具体的类型***/ //声明一个用于装字符串的列表,该列表只能装字符串的对象 List<String> list_S = new ArrayList<String>(); list_S.add("first"); list_S.add("second"); list_S.add("third"); //不能装整数对象 Integer iObj = 10; //list_S.add(iObj);//error!! //从列表中取值时,不用作强制类型转换 String firstS = list_S.get(0); String thirdS = list_S.get(2); System.out.println("firstS: " + firstS + "; thirdS: " + thirdS); /***泛型和继承***/ //String继承Object String s = "sss"; Object o = s; //但List<String>不继承List<Object> //List<Object> list_O = list_s;//error!!!!!!!!! /***通配符***/ //调用具有"?"通配符的方法 List<Integer> list_I = new ArrayList<Integer>(); list_I.add(5555); list_I.add(6666); list_I.add(7777); //该方法可以打印整型列表,也可以打印字符串列表 printCollection(list_I); printCollection(list_S); /***调用具有"?"通配符的方法***/ //只接受父类以及子类类型的列表 List<Parent> list_Parent = new ArrayList<Parent>(); list_Parent.add(new Parent("parentOne")); list_Parent.add(new Parent("parentTwo")); list_Parent.add(new Parent("parentThree")); List<Child> list_Child = new ArrayList<Child>(); list_Child.add(new Child("childOne",20)); list_Child.add(new Child("childTwo",22)); list_Child.add(new Child("childThree",21)); printNames(list_Parent); printNames(list_Child); //不能接受其它类型的参数 //printNames(list_S);//error! /***泛型方法***/ //arrayToList方法将任意类型的对象数组变成相应的列表 Integer[] iObjs = {55,66,77,88,99}; List<Integer> result_I = arrayToList(iObjs);//转换整型数组 printCollection(result_I); String[] ss = {"temp","temptemp","hehe","he","hehehe"}; //转换字符串数组 List<String> result_S = arrayToList(ss); printCollection(result_S); //findParent方法在一组Parent对象中根据name查找Parent Parent[] parents = {new Parent("abc"),new Parent("bcd"),newParent("def")}; Parent parent = findParent(parents, "bcd"); System.out.print("找到的bcd: "+parent); Child[] children = {new Child("abc",22),new Child("bcd",23),newChild("def",22)}; Child child = findParent(children, "bcd"); System.out.print("找到的bcd: "+child); //但是不能在字符串数组中进行查找 //String sss = findparent(ss,"temp");//error! } } class Parent{ public String name; public Parent(String name){ this.name = name; } public String toString(){ return "name = " + this.name; } } class Child extends Parent{ public int age; public Child(String name,int age){ super(name); this.age = age; } public String toString(){ return super.toString() + "; age = " + age; } }
发表评论
-
apache 中的EqualsBuilder和HashCodeBuilder
2012-05-04 10:27 1018自动化hashCode()和equals() 问题产生:当需 ... -
Java 中的Double Check Lock
2012-05-03 10:53 1631对于多线程编程来说 ... -
JDK5.0新特性系列---11.4线程 Condition
2012-05-02 11:05 800import java.util.concurrent. ... -
JDK5.0新特性系列---11.6线程 BlockingQueue
2012-05-02 11:05 779importjava.util.concurrent. ... -
JDK5.0新特性系列---11.5.4线程 同步装置之Exchanger
2012-05-02 11:05 735/** * Exchanger让两个线程互换信息 ... -
JDK5.0新特性系列---11.5.2线程 同步装置之CountDownLatch
2012-05-02 11:05 847import java.util.concurrent ... -
JDK5.0新特性系列---11.5.1线程 同步装置之Semaphore
2012-05-03 10:54 753import java.util.ArrayList; ... -
JDK5.0新特性系列---11.2线程 任务执行架构
2012-05-03 10:54 862import java.util.concurrent. ... -
JDK5.0新特性系列---11.3线程 锁Lock
2012-05-03 10:54 787import java.util.concurrent. ... -
JDK5.0新特性系列---11.1线程 Callable和Future
2012-05-03 10:54 1214import java.util.concurrent. ... -
JDK5.0新特性系列---10.监控与管理虚拟机
2012-04-28 08:58 892import java.lang.management ... -
JDK5.0新特性系列---9.注释功能Annotation
2012-04-28 08:58 809import java.lang.annotation. ... -
JDK5.0新特性系列---7.使用ProcessBuilder执行本地命令
2012-04-28 08:57 932import java.io.BufferedReade ... -
JDK5.0新特性系列---6.格式化输出
2012-04-28 08:57 612import java.util.Date; / ... -
JDK5.0新特性系列---5.可变长参数Varargs
2012-04-26 21:53 591/** * 在J2SE5.0之前,当传入到方法的参数 ... -
JDK5.0新特性系列---4.静态导入
2012-04-26 21:51 718/** *静态导入:是指可以import类的静态方法 ... -
JDK5.0新特性系列---3.枚举类型
2012-04-26 21:50 632/** *enum关键字表示枚举类型,它的作用相当于 ... -
JDK5.0新特性系列---2.新的for循环
2012-04-26 21:48 674import java.util.ArrayList; ... -
JDK5.0新特性---1.自动装箱和拆箱
2012-04-26 21:44 882/** * 基本类型的数据值可以直接赋给基本数据对象 ... -
JAVA移位运算符)
2012-04-20 13:32 848移位运算符就是在二 ...
相关推荐
总结来说,JDK5.0是Java发展中的关键版本,引入了泛型、枚举、自动装箱/拆箱等新特性,极大地简化了编码。正确下载、安装并配置JDK5.0后,就可以开始愉快的Java编程之旅,而"HelloWorld"则是学习任何编程语言的第一...
**JDK 5.0** 是Java开发工具集(Java Development Kit)的一个重要版本,它在Java编程领域具有里程碑式的意义。此版本的发布在2004年,带来了许多新特性和改进,极大地提升了Java语言的开发效率和程序性能。下面我们...
以上就是JDK 5.0中的一些重要新特性,这些特性极大地推动了Java语言的发展,使其在软件开发领域保持了强大的竞争力。通过学习和掌握这些特性,开发者可以编写出更加高效、健壮和易于维护的代码。
泛型是JDK 5.0引入的一项重大新特性,极大地提高了Java编程的类型安全性和效率。泛型允许我们在定义类、接口和方法时使用类型参数,而不是具体的类型,这样在编译期间就能进行类型检查,防止了运行时可能出现的...
以上就是 JDK 5.0 中的一些主要新特性,这些特性的引入极大地提高了 Java 开发者的编程效率和代码质量。通过学习这些新特性,开发者可以更好地利用 Java 语言的强大功能,编写出更加健壮、高效的应用程序。
Java JDK 5.0,又称为JDK 1.5,是Java开发工具包的一个重要升级,它引入了大量的新特性和改进,极大地提升了Java编程的...而"jdk5.0新特征.txt"则可能包含了对所有新特性的详细描述和使用示例,是深入学习的好资源。
JDK(Java Development Kit)是Java编程的基础,包含编译器、调试器和其他工具,使得开发者可以编写、编译、运行Java程序。 标签中包含的"jdk1.5.0.1"指的是Java的特定版本,即Java 5.0 Update 1。这是Oracle公司...
Java开发工具包(JDK)5.0引入了一系列重大改进,极大地增强了编程体验并提高了代码的类型安全性。其中,以下几个特性尤为突出: 1. **泛型(Generics)**: 泛型是JDK 5.0中最关键的特性之一,它允许我们在类、...
通过深入学习《良葛格JDK5.0学习笔记》,开发者能够全面了解并熟练运用这些新特性,提升代码质量和效率,更好地适应Java编程的新时代。这份笔记对于Java初学者和有一定经验的开发者来说都是一份宝贵的参考资料。
JDK5.0是Java开发的一个重要里程碑,它引入了11个主要的新特性,极大地提升了编程效率和代码安全性。以下是对这些特性的详细说明: 1. 泛型(Generic) 泛型的引入是为了解决类型安全问题,避免在运行时进行不必要...
在这个名为“JDK5.0新特性源代码”的压缩包中,我们可以期待找到与这些关键特性相关的源代码示例。以下是JDK 5.0引入的一些核心新特性及其详细解释: 1. **泛型(Generics)**:泛型允许在类、接口和方法中声明类型...
4. **增强的for循环(Enhanced For Loop)**:也称为foreach循环,是JDK 5.0引入的新特性,简化了遍历数组和集合的操作。如`for (Type item : arrayOrCollection) { ... }`。 5. **变量注解(Variable Annotations...
Java JDK 5.0是Java开发的一个里程碑版本,它引入了许多重要的新特性和改进,极大地提升了开发效率和代码质量。良葛格的Java JDK 5.0学习笔记是一份宝贵的资源,适合初学者和有经验的开发者回顾这个版本的关键概念。...
JDK 1.5,也被称为Java 5.0,是Oracle公司发布的一个重要Java开发工具包,它为Java编程语言带来了许多显著的改进和新特性。这个版本的JDK在2004年9月30日正式推出,其安装文件名为"jdk-1_5_0_08-windows-i586-p.exe...
Java JDK 5.0是Java发展历程中的一个重要里程碑,它引入了许多新特性,极大地提升了开发效率和代码质量。这里,我们将详细探讨这个版本的关键知识点,帮助初学者更好地理解和掌握Java编程。 1. **自动类型推断(var...
JDK 5.0提供了新的jstack工具,可以帮助开发者检测和诊断多线程程序中的死锁问题。 十、NIO.2(New I/O 2) 虽然NIO.2是在JDK 7中引入的,但它是对JDK 5.0中NIO的扩展,增加了对文件系统操作的全面支持,如异步I/O...
JDK 5.0的类库包括了基础类库、集合框架、I/O流、网络编程、多线程、异常处理、反射、泛型等多个核心领域。这些类库提供了丰富的功能,使开发者能够高效地构建复杂的Java应用程序。 #### 1. **基础类库** 基础类库...
JDK 5.0,也称为Java 5,是一个重要的版本,因为它引入了许多新特性,改进了语言语法,并对API进行了扩展。这个“jdk-1_5_0_22-linux-i586.rar_5.0版本_jdk_jdk-1_5_0_22_lakee6q_linux”文件包含了专为Linux i586...
对于开发者来说,安装这个版本的JDK意味着可以获得上述新特性的支持,同时确保了程序在该环境下的稳定运行。在Windows平台上,i586版本是为32位系统设计的,因此,如果用户的电脑是32位架构,这个版本的JDK将是合适...
总结,JDK5.0是Java发展的重要里程碑,它的新特性显著提高了编程的效率和代码质量。通过配置并使用JDK5.0,开发者能够更好地理解和掌握Java编程,从而积累丰富的学习经验。同时,了解和熟练使用bin目录下的各种工具...