摘要: vararg是说可变长度的参数列表,是在method上面说的,我们不得不承认一个事实,就是无论重载的函数有多少个,总是有可能我们没有覆盖到的函数,原因是某一次我们又发现还需要传入另一个参数,是的vararg就是为此而生的。来看一个使用vararg的简单例子: 1 public static void test(String s,String... strs){ 2 System.out.print(s+" "); 3 for(String a:strs) 4 System.out.print(a+" "); 5 System.out.println(&q 阅读全文
posted @ 2011-10-28 17:00 Yakov 阅读(2151) 评论(0) 推荐(1) 编辑
摘要: Autoboxing和unboxing又名拆箱和装箱,简单一点讲,就是从primitive转换到wrapper class,例如int类型到Integer类型就是装箱,而Integer类型到int类型则是拆箱。当然,这里的装箱和拆箱都是auto的,是JVM在工作的内容,事实上不用我们手写,然而也有手写的对应方式,如下所示:1 int i=10;2 Integer a=new Integer(i);//装箱的操作3 int j=a.intValue();//拆箱的操作上面是手动的,在Java5.0之后已经在JVM中有了自动的装箱和拆箱的转换,如下所示:1 int i=10;2 Integer b 阅读全文
posted @ 2011-10-28 16:37 Yakov 阅读(2596) 评论(0) 推荐(0) 编辑
摘要: 你一定急于知道for-in与本来的for语句有什么区别,那么你一定知道原来的for语句怎么写了,来看下面一段代码,它将给你解释for-in语句的一般结构:1 int[] primes=new int[]{2,3,5,7,11,13,17,19,23,29};2 for(int n:primes)System.out.println(n);//这里使用了for-in语句,句法规则如语句所示就是这么简单,到这里已经讲完了基本的for-in语句,但是我想你还是应该知道后面的一些东西。一般来说,for-in中的array或者collection不能通过循环变量来修改。避免for-in语句中的类型转换有 阅读全文
posted @ 2011-10-28 16:06 Yakov 阅读(9451) 评论(0) 推荐(0) 编辑
摘要: 虽然一直以来,Java都提供了强制类型转换,但是那确实是Java的弱点,因为你是在取数据的时候才保证了类型安全(Type-safe),而不是在存储数据的时候就做好这项工作,Java5提供了Generic来保证这项工作,从而提高了Java的类型安全(Type-safe)。使用Type-Safe的List只接受String类型的List申明代码如下:1 List<String> list=new LinkedList<String>();2 list.add("hello");list只能接受String类型,如果你试图传入其他的类型那么,会产生编译错误 阅读全文
posted @ 2011-10-25 10:11 Yakov 阅读(566) 评论(0) 推荐(1) 编辑
摘要: 有关override返回类型的问题,我想下面一段代码足以说明,请注意注释部分:1 class A{}2 class B extends A{}3 4 class P{5 public A getSomeThing(){return new A();}6 }7 class S extends P{8 public B getSomeThing(){return new B();}//只有B是A的子类的时候,S子类才可以使用返回类型为B的同签名函数覆盖其父类P的函数9 }再次说明,请注意注释部分。关于UnicodeJava5之前支持的是Unicode3.0,所有的字符存在于一个16... 阅读全文
posted @ 2011-10-24 21:17 Yakov 阅读(625) 评论(0) 推荐(0) 编辑
摘要: java.util.Queue是一个interface,由LinkedList实现,所以在申明一个Queue时,使用的是如下的语句:1 Queue q=new LinkedList();这个interface一共有6个method,如下图所示:有时候我们需要优先队列,也就是PriorityQueue,运行起来如同Queue一样,不需要学习新的method,但是由于存在了优先级,就必须提供一个用于比较的方法,PriorityQueue使用Comparator这个interface来排序它的项目,如果没有指定Comparator,你会得到所谓的“自然排序”,两种代码如下: 1 PriorityQu 阅读全文
posted @ 2011-10-24 20:25 Yakov 阅读(378) 评论(0) 推荐(0) 编辑
摘要: 相对于更为强大的Java6以后的版本,那么这些在Java5时代的特征,或者甚至不是特征的编程技巧,就显得微不足道了,但是,我还是要把他们保留下来,以备以后查询,更不能忘记,这些宝贝来自于一本叫做《Java5.0 Tiger》的书籍,它是我从西安交通大学的图书馆借来的,仅仅188页,很薄但却含金量丰富,以下可以说是它的读书笔记吧。1.关于java.util.Arrays这个class里面是一组在操作array时很有用的静态method。注意:每个好的equals() method都应该要有一个相对应的等值的hashCode() 阅读全文
posted @ 2011-10-24 17:08 Yakov 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 本文只记载了一些博主在学习《深入理解Android 卷I》的时候的一些笔记,具体而精彩的讲解请购买书籍详细阅读。正如这本书的推荐所写的,这本书不是讲解怎么在Android下面编程的书,而是一本讲解Android架构与模块的书,它让你更加深入得了解Android。第一篇:Android结构Android自底层到上层由4层组成:Linux内核层,Libraries层,Framework层,Application层Application层:这里就是我们经常用到的那些应用,一般是由Java开发的。Framework层:这个层中提供了我们在编写Application层时的Java底层API和相应的功能, 阅读全文
posted @ 2011-10-14 10:04 Yakov 阅读(526) 评论(0) 推荐(1) 编辑