02 2011 档案
Android之实时文件夹
摘要:实时文件夹是一种用来显示由某个ContentProvider提供的数据信息的桌面组件。要创建一个实时文件夹,必须要有两方面的支持。一方面是,要定义一个用来创建实时文件夹的Activity。另一方面是,所指定数据信息URI的ContentProvider必须支持实时文件夹的查询。本节中就将要介绍如何为应用程序创建实时文件夹。 与在Launcher的桌面上添加一个快捷方式类似,用户在桌面上长按后选择实时文件夹就会弹出一个可用实时文件夹的列表对话框。若我们想把自己应用程序内的Activity也添加到这一列表中,同样只需要在该Activity注册时添加一个Action为android.intent.a 阅读全文
posted @ 2011-02-28 21:56 Ruthless 阅读(2259) 评论(0) 推荐(1) 编辑
Android之快捷方式二——向Launcher添加快捷方式
摘要:当我们在应用程序Launcher的桌面空白处长按触摸时,会出现一个对话框,提示选择要添加的桌面组件,如下图所示选择快捷方式后,会弹出一个对话框,显示出了可添加快捷方式的Activity所属的应用程序的图标和名称的列表。当我们想把添加快捷方式的Activity添加到这一列表时,只需要在这个Activity注册时添加一个Action为android.intent.action.CREATE_SHORTCUT的IntentFilter就可以了。ShortCutAction类package com.ljq.action;import android.app.Activity;import androi 阅读全文
posted @ 2011-02-28 20:53 Ruthless 阅读(3032) 评论(0) 推荐(1) 编辑
Android之快捷方式一——通过应用程序创建快捷方式
摘要:Android 快捷方式是桌面最基本的组件。它用于直接启动某一应用程序的某个组件。一般情况下,可以在Launcher的应用程序列表上,通过长按某一个应用程序的图标在左面上创建改该应用程序的快捷方式。另外,还可以通过两种方式在桌面上添加快捷方式:一:在应用程序中创建一个Intent,然后以Broadcast的形式通知Launcher创建一个快捷方式。二:为应用程序的组件注册某一个符合特定条件的IntentFilter,然后可以直接在Launcher的桌面添加启动该组件的快捷方式。下面模拟在应用程序中添加快捷方式main.xml布局文件<?xml version="1.0" 阅读全文
posted @ 2011-02-28 17:17 Ruthless 阅读(12048) 评论(0) 推荐(1) 编辑
Android之手机闹钟
摘要:一、开发手机闹钟主要用到了AlarmManager类,AlarmManager类提供了访问系统定时服务的途径,开发人员可以在程序中设置某个应用程序在未来的某个时刻被执行。当AlarmManager定时时间到了之后,当初注册的Intent对象将会被系统广播,进而启动目标程序。二、在程序运行时当需要使用AlarmManager类时,可以通过Context对象的getSystemService(Context.ALARM_SERVICE)方法来获得AlarmManager对象。以下程序中使用时间选择对话框设置闹钟的时间。main.xml布局文件<?xml version="1.0&q 阅读全文
posted @ 2011-02-26 23:45 Ruthless 阅读(24450) 评论(6) 推荐(2) 编辑
Android之手机电池电量应用
摘要:原理概述: 手机电池电量的获取在应用程序的开发中也很常用,Android系统中手机电池电量发生变化的消息是通过Intent广播来实现的,常用的Intent的Action有Intent.ACTION_BATTERY_CHANGED(电池电量发生改变时)、Intent.ACTION_BATTERY_LOW(电池电量达到下限时)、和Intent.ACTION_BATTERY_OKAY(电池电量从低恢复到高时)。 当需要在程序中获取电池电量的信息时,需要为应用程序注册BroadcastReceiver组件,当特定的Action事件发生时,系统将会发出相应的广播,应用程序就可以通过BroadcastRe 阅读全文
posted @ 2011-02-26 21:55 Ruthless 阅读(8021) 评论(3) 推荐(2) 编辑
Android之TelephonyManager类的使用案例
摘要:目录结构main.xml布局文件<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> 阅读全文
posted @ 2011-02-26 21:20 Ruthless 阅读(8910) 评论(2) 推荐(2) 编辑
Android之TelephonyManager类的方法详解
摘要:TelephonyManager类主要提供了一系列用于访问与手机通讯相关的状态和信息的get方法。其中包括手机SIM的状态和信息、电信网络的状态及手机用户的信息。在应用程序中可以使用这些get方法获取相关数据。 TelephonyManager类的对象可以通过Context.getSystemService(Context.TELEPHONY_SERVICE)方法来获得,需要注意的是有些通讯信息的获取对应用程序的权限有一定的限制,在开发的时候需要为其添加相应的权限。以下列出TelephonyManager类所有方法及说明:package com.ljq.activity;import jav. 阅读全文
posted @ 2011-02-26 12:47 Ruthless 阅读(47522) 评论(2) 推荐(5) 编辑
Android之音量调节
摘要:main.xml布局文件<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> &l 阅读全文
posted @ 2011-02-25 21:26 Ruthless 阅读(17145) 评论(0) 推荐(1) 编辑
Android之手机振动的设置
摘要:main.xml布局文件<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> &l 阅读全文
posted @ 2011-02-25 20:33 Ruthless 阅读(17227) 评论(3) 推荐(1) 编辑
Android之手机壁纸的改变
摘要:main.xml布局文件<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> &l 阅读全文
posted @ 2011-02-25 12:01 Ruthless 阅读(1584) 评论(1) 推荐(1) 编辑
Android之手机屏幕朝向
摘要:模拟当点击按钮时,使手机朝向发生改变。main.xml布局文件<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_ 阅读全文
posted @ 2011-02-25 10:36 Ruthless 阅读(17938) 评论(0) 推荐(1) 编辑
Android控件之Spinner探究
摘要:以下模拟下拉列表的用法布局文件<?xml version="1.0" encoding="utf-8"?><LinearLayout android:id="@+id/LinearLayout01" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" xmlns:android="http://sc 阅读全文
posted @ 2011-02-24 16:58 Ruthless 阅读(13951) 评论(0) 推荐(0) 编辑
Android控件之TabHost探究
摘要:以下通过TabHost实现android选项卡。main.xml布局文件<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout an 阅读全文
posted @ 2011-02-24 16:20 Ruthless 阅读(7433) 评论(0) 推荐(1) 编辑
Android控件之Gallery探究
摘要:Gallery组件主要用于横向显示图像列表,不过按常规做法。Gallery组件只能有限地显示指定的图像。也就是说,如果为Gallery组件指定了10张图像,那么当Gallery组件显示到第10张时,就不会再继续显示了。这虽然在大多数时候没有什么关系,但在某些情况下,我们希望图像显示到最后一张时再重第1张开始显示,也就是循环显示。要实现这种风格的Gallery组件,就需要对Gallery的Adapter对象进行一番改进。以下通过Gallery模拟循环显示图像,在单击某一个Gallery组件中的图像时在下方显示一个放大的图像(使用ImageSwitcher组件)。目录结构main.xml布局文件. 阅读全文
posted @ 2011-02-24 11:29 Ruthless 阅读(10882) 评论(3) 推荐(1) 编辑
android中Handle类的用法
摘要:当我们在处理下载或是其他需要长时间执行的任务时,如果直接把处理函数放Activity的OnCreate或是OnStart中,会导致执行过程中整个Activity无响应,如果时间过长,程序还会挂掉。Handler就是把这些功能放到一个单独的线程里执行,与Activity互不影响。 当用户点击一个按钮时如果执行的是一个常耗时操作的话,处理不好会导致系统假死,用户体验很差,而Android则更进一步,如果任意一个Acitivity没有响应5秒钟以上就会被强制关闭,因此我们需要另外起动一个线程来处理长耗时操作,而主线程则不受其影响,在耗时操作完结发送消息给主线程,主线程再做相应处理。那么线程之间的消. 阅读全文
posted @ 2011-02-23 22:28 Ruthless 阅读(19894) 评论(2) 推荐(1) 编辑
Android控件之ProgressBar探究
摘要:ProgressBar位于android.widget包下,其继承于View,主要用于显示一些操作的进度。应用程序可以修改其长度表示当前后台操作的完成情况。因为进度条会移动,所以长时间加载某些资源或者执行某些耗时的操作时,不会使用户界面失去响应。ProgressBar类的使用非常简单,只需将其显示到前台,然后启动一个后台线程定时更改表示进度的数值即可。以下ProgressBar跟Handle结合,模拟进度条的使用,当进度条完成时会跳转到TestActivitymain.xml布局文件<?xml version="1.0" encoding="utf-8&qu 阅读全文
posted @ 2011-02-23 19:23 Ruthless 阅读(8319) 评论(1) 推荐(1) 编辑
Android控件之GridView探究
摘要:GridView是一项显示二维的viewgroup,可滚动的网格。一般用来显示多张图片。以下模拟九宫图的实现,当鼠标点击图片时会进行相应的跳转链接。目录结构main.xml布局文件,存放GridView控件<?xml version="1.0" encoding="utf-8"?><!-- android:numColumns="auto_fit" ,GridView的列数设置为自动 android:columnWidth="90dp",每列的宽度,也就是Item的宽度android:stretc 阅读全文
posted @ 2011-02-23 17:44 Ruthless 阅读(52929) 评论(8) 推荐(8) 编辑
Android控件之ListView探究二
摘要:目录结构main.xml布局文件<?xml version="1.0" encoding="utf-8"?><!-- 使用相对布局 --><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="wrap_content" android:layout_height=&q 阅读全文
posted @ 2011-02-23 14:58 Ruthless 阅读(8084) 评论(1) 推荐(1) 编辑
Android控件之ListView探究一
摘要:在android开发中ListView是比较常用的组件,它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示。main.xml布局文件[代码]my_listitem.xml布局文件[代码]LsActivity类[代码]运行结果 阅读全文
posted @ 2011-02-22 10:48 Ruthless 阅读(6629) 评论(0) 推荐(1) 编辑
Android控件之ScrollView探究
摘要:ScrollView滚动视图是指当拥有很多内容,屏幕显示不完时,需要通过滚动跳来显示的视图。ScrollView只支持垂直滚动。以下为案例main.xml布局文件[代码]显示效果 阅读全文
posted @ 2011-02-22 10:29 Ruthless 阅读(6198) 评论(1) 推荐(1) 编辑
Android控件之AutoCompleteTextView、MultiAutoCompleteTextView探究
摘要:在Android中提供了两种智能输入框,它们是AutoCompleteTextView、MultiAutoCompleteTextView。它们的功能大致一样。显示效果像Google搜索一样,当你在搜索框里输入一些字符时(至少两个字符),会自动弹出一个下拉框提示类似的结果。下面详细介绍一下。一、AutoCompleteTextView1、简介一个继承自EditView的可编辑的文本视图,能够实现动态匹配输入的内容。如google搜索引擎当输入文本时可以根据内容显示匹配的热门信息。2、重要方法 clearListSelection():清除选中的列表项dismissDropDown():如果存在 阅读全文
posted @ 2011-02-22 09:52 Ruthless 阅读(14884) 评论(3) 推荐(2) 编辑
Android控件之DatePicker、TimePicker探究
摘要:一、DatePicker继承自FrameLayout类,日期选择控件的主要功能是向用户提供包含年、月、日的日期数据并允许用户对其修改。如果要捕获用户修改日期选择控件中的数据事件,需要为DatePicker添加OnDateChangedListener监听器。二、TimePicker也继承自FrameLayout类。时间选择控件向用户显示一天中的时间(可以为24小时,也可以为AM/PM制),并允许用户进行选择。如果要捕获用户修改时间数据的事件,便需要为TimePicker添加OnTimeChangedListener监听器以下模拟日期与时间选择控件的用法目录结构main.xml布局文件[代码]D 阅读全文
posted @ 2011-02-21 21:54 Ruthless 阅读(57532) 评论(2) 推荐(3) 编辑
Android控件之AnalogClock、DigitalClock探究
摘要:时钟控件包括AnalogClock和DigitalClock,它们都负责显示时钟,所不同的是AnalogClock控件显示模拟时钟,且只显示时针和分针,而DigitalClock显示数字时钟,可精确到秒以下模拟时钟的用法目录结构布局文件[代码]运行结果 阅读全文
posted @ 2011-02-21 21:39 Ruthless 阅读(15061) 评论(0) 推荐(1) 编辑
Android控件之ImageView探究
摘要:ImageView控件是一个图片控件,负责显示图片。以下模拟手机图片查看器目录结构main.xml布局文件[代码]ImageViewActivity类[代码]运行结果 阅读全文
posted @ 2011-02-21 21:29 Ruthless 阅读(7623) 评论(0) 推荐(1) 编辑
Android控件之CheckBox、RadioButton探究
摘要:CheckBox和RadioButton控件都只有选中和未选中状态,不同的是RadioButton是单选按钮,需要编制到一个RadioGroup中,同一时刻一个RadioGroup中只能有一个按钮处于选中状态。以下为CheckBox和RadioButton常用方法及说明以下为单选按钮和复选按钮的使用方法目录结构main.xml布局文件[代码]CbRbActivity类[代码]运行结果 阅读全文
posted @ 2011-02-21 21:20 Ruthless 阅读(7321) 评论(0) 推荐(1) 编辑
Android控件之ToggleButton探究
摘要:ToggleButton的状态只能是选中和未选中,并且需要为不同的状态设置不同的显示文本。以下案例为ToggleButton的用法目录结构main.xml布局文件[代码]ToggleButtonActivity类[代码]运行效果: 阅读全文
posted @ 2011-02-21 20:54 Ruthless 阅读(8002) 评论(0) 推荐(1) 编辑
Android控件之EditView探究
摘要:EditView类继承自TextView类,EditView与TextView最大的不同就是用户可以对EditView控件进行编辑,同时还可以为EditView控件设置监听器,用来判断用户的输入是否合法。 以下为EditView常用属性及对应方法说明 阅读全文
posted @ 2011-02-20 22:30 Ruthless 阅读(7765) 评论(0) 推荐(0) 编辑
Android控件之TextView探究
摘要:在android中,文本控件主要包括TextView控件和EditView控件,本节先对TextView控件的用法进行详细介绍。 TextView类继承自View类,TextView控件的功能是向用户显示文本的内容,但不允许编辑,而其子类EditView允许用户进行编辑。 以下为TextView常用属性及对应方法说明 阅读全文
posted @ 2011-02-20 22:13 Ruthless 阅读(7373) 评论(0) 推荐(1) 编辑
Android中gravity与layout_gravity的区别
摘要:android:gravity:设置的是控件自身上面的内容位置android:layout_gravity:设置控件本身相对于父控件的显示位置。看下如下代码段[代码]显示结果是按钮的文本居右显示,而按钮显示在屏幕的右边,运行结果截图如下 阅读全文
posted @ 2011-02-20 20:43 Ruthless 阅读(5858) 评论(0) 推荐(2) 编辑
Java动态代理三——模拟AOP实现
摘要:以下案例模拟AOP实现目录结构接口PersonService[代码]实现类PersonServiceBean[代码]动态代理类JDKProxyFactory[代码]动态代理类CGlibProxyFactory:使用CGLIB技术[代码]测试类AopTest[代码]运行结果 阅读全文
posted @ 2011-02-18 16:36 Ruthless 阅读(2879) 评论(0) 推荐(1) 编辑
Java动态代理二——CGLIB动态代理应用
摘要:JDK自从1.3版本开始,就引入了动态代理,JDK的动态代理用起来非常简单,但是它有一个限制,就是使用动态代理的对象必须实现一个或多个接口。如果想代理没有实现接口的类可以使用CGLIB包。  CGLIB是一个强大的高性能的代码生成包。它被许多AOP的框架(例如Spring AOP)使用,为他们提供方法的interception(拦截)。Hibernate也使用CGLIB来代理单端single-ended(多对一和一对一)关联。EasyMock通过使用模仿(moke)对象来测试java代码的包。它们都通过使用CGLIB来为那些没有接口的类创建模仿(moke)对象。  CGLIB包的底层是通过使用 阅读全文
posted @ 2011-02-18 11:53 Ruthless 阅读(11428) 评论(4) 推荐(3) 编辑
Java动态代理一——动态类Proxy的使用
摘要:1.什么是动态代理? 答:动态代理可以提供对另一个对象的访问,同时隐藏实际对象的具体事实。代理一般会实现它所表示的实际对象的接口。代理可以访问实际对象,但是延迟实现实际对象的部分功能,实际对象实现系统的实际功能,代理对象对客户隐藏了实际对象。客户不知道它是与代理打交道还是与实际对象打交道。2.为什么使用动态代理? 答:因为动态代理可以对请求进行任何处理3.使用它有哪些好处? 答:因为动态代理可以对请求进行任何处理4.哪些地方需要动态代理?答:不允许直接访问某些类;对访问要做特殊处理等目前Java开发包中包含了对动态代理的支持,但是其实现只支持对接口的的实现。 其实现主要通过java.lang. 阅读全文
posted @ 2011-02-18 10:52 Ruthless 阅读(59518) 评论(6) 推荐(6) 编辑
Java注解Annotation详解
摘要:注解相当于一种标记,在程序中加了注解就等于为程序打上了某种标记,没加,则等于没有某种标记,以后,javac编译器,开发工具和其他程序可以用反射来了解你的类及各种元素上有无何种标记,看你有什么标记,就去干相应的事。标记可以加在包,类,字段,方法,方法的参数以及局部变量上。自定义注解及其应用1)、定义一个最简单的注解public @interface MyAnnotation { //......}2)、把注解加在某个类上:@MyAnnotation public class AnnotationTest{ //......}以下为模拟案例自定义注解@MyAnnotation[代码]注解测试类An 阅读全文
posted @ 2011-02-16 20:55 Ruthless 阅读(56201) 评论(5) 推荐(5) 编辑
Java内省IntroSpector应用
摘要:内省(IntroSpector)是Java语言对JavaBean 类属性、事件的一种缺省处理方法。例如类A中有属性name, 那我们可以通过getName,setName 来得到其值或者设置新的值。通过getName/setName 来访问name属性,这就是默认的规则。Java中提供了一套API 用来访问某个属性的getter/setter方法,通过这些API 可以使你不需要了解这个规则,这些API存放于包java.beans 中。一般的做法是通过类Introspector的getBeanInfo方法获取某个对象的BeanInfo 信息,然后通过BeanInfo来获取属性的描述器(Prope 阅读全文
posted @ 2011-02-16 17:05 Ruthless 阅读(6489) 评论(0) 推荐(1) 编辑
框架的概念及用反射技术开发框架的原理<br/>getResourceAsStream用法详解
摘要:反射的作用—>实现框架的功能框架-用户类-工具类:框架与工具类有区别,工具类被用户的类调用,而框架则是调用用户提供的类。框架要解决的核心问题:框架如何调用未知的类:通过反射来实现综合案例: 使用配置文件读取调用类的名字工程目录ReflectTest测试类[代码]config.properties配置文件[代码]getResourceAsStream用法大致有以下几种:[代码] 阅读全文
posted @ 2011-02-14 20:51 Ruthless 阅读(6574) 评论(0) 推荐(1) 编辑
Java通过反射机制获取Class对象
摘要:Java反射机制四种获取Class对象的方法[代码]Customer类[代码] 阅读全文
posted @ 2011-02-13 20:03 Ruthless 阅读(17582) 评论(0) 推荐(1) 编辑
Java反射机制深入研究
摘要:Java反射是Java语言的一个很重要的特征,它使得Java具体了“动态性”。在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法?答案是肯定的。这种动态获取类的信息以及动态调用对象的方法的功能来自于Java语言的反射(Reflectio... 阅读全文
posted @ 2011-02-13 16:47 Ruthless 阅读(4398) 评论(1) 推荐(4) 编辑
jpa+spring配置多数据源
摘要:采用jpa+spring技术配置多数据源persistence.xml配置多数据源[代码]beans.xml[代码]PersonServiceTest测试类[代码]运行时如果能打印出factory对象,表示多数据源配置成功,如下所示 阅读全文
posted @ 2011-02-12 23:35 Ruthless 阅读(14649) 评论(16) 推荐(1) 编辑
windows常用快捷键
摘要:Ctrl+S 保存 Ctrl+W 关闭程序 Ctrl+N 新建 Ctrl+O 打开 Ctrl+Z 撤销 Ctrl+F 查找 Ctrl+X 剪切 Ctrl+C 复制 Ctrl+V 粘贴 Ctrl+A 全选 Ctrl+[ 缩小文字 Ctrl+] 放大文字Ctrl+B 粗体 Ctrl+I 斜体 Ctrl+U 下划线 Ctrl+Shift 输入法切换 Ctrl+空格 中英文切换 Ctrl+回车 QQ号中发送信息 Ctrl+Home 光标快速移到文件头 Ctrl+End 光标快速移到文件尾 Ctrl+Esc 显示开始菜单 Ctrl+Shift+&lt; 快速缩小文字 Ctrl+Shift+&am 阅读全文
posted @ 2011-02-12 11:54 Ruthless 阅读(2334) 评论(0) 推荐(1) 编辑
java枚举使用详解
摘要:在实际编程中,往往存在着这样的&ldquo;数据集&rdquo;,它们的数值在程序中是稳定的,而且&ldquo;数据集&rdquo;中的元素是有限的。例如星期一到星期日七个数据元素组成了一周的&ldquo;数据集&rdquo;,春夏秋冬四个数据元素组成了四季的&ldquo;数据集&rdquo;。在java中如何更好的使用这些&ldquo;数据集&rdquo;呢?因此枚举便派上了用场,以下代码详细介绍了枚举的用法。[代码] 阅读全文
posted @ 2011-02-11 21:00 Ruthless 阅读(227204) 评论(14) 推荐(31) 编辑
jpa多表查询
摘要:jpa多表查询可以使用构造器的方式进行多表查询,以下为多表查询的案例。本案例中有A、B、C三个对象实体类,对象A、B通过属性imsi关联,对象B、C通过imsig关联;还有一个Abc类,它是一个用来多表查询时构造集合的普通类。以下为案例代码A类[代码]B类[代码]C类型[代码]Abc类型[代码]MultiListQueryTest测试类[代码] 阅读全文
posted @ 2011-02-11 15:26 Ruthless 阅读(50897) 评论(1) 推荐(2) 编辑
Java拆箱装箱小结
摘要:http://macemers.javaeye.com/blog/860631 阅读全文
posted @ 2011-02-10 21:13 Ruthless 阅读(1264) 评论(0) 推荐(1) 编辑
Java常用集合比较
摘要:1. ArrayList 基于数组方式实现,无容量的限制。 在执行插入元素时可能要扩容,在删除元素时并不会减少数组的容量。 如果希望相应的缩小数组容量,可以调用trimToSize() 在查找元素时要遍历数组,对于非null的元素采取equals的方式寻找。 非线程安全。 2. LinkedList 基于双向链表机制实现。 元素的插入、移动较快。 非线程安全。 3. Vector 基于Object数组的方式来实现的。 基于synchronized实现的线程安全的ArrayList。 在插入元素时容量扩充的机制和ArrayList稍有不同: 如果capcacityIncr 阅读全文
posted @ 2011-02-10 20:36 Ruthless 阅读(3002) 评论(0) 推荐(1) 编辑
增强for循环用法
摘要:1.首先增强for循环和iterator遍历的效果是一样的,也就说增强for循环的内部也就是调用iteratoer实现的,但是增强for循环有些缺点,例如不能在增强循环里动态的删除集合内容。不能获取下标等。2.ArrayList由于使用数组实现,因此下标明确,最好使用普通循环。3.而对于LinkedList 由于获取一个元素,要从头开始向后找,因此建议使用增强for循环,也就是iterator。下面的例子可以证明[代码]使用ArrayList运行结果如下把ArrayList改为LinkedList,我这里内存溢出了,运行结果如下于是list改成50000,运行结果如下所以在使用的时候适当选择就 阅读全文
posted @ 2011-02-10 20:22 Ruthless 阅读(68959) 评论(1) 推荐(6) 编辑
Java可变参数的使用
摘要:Java1.5增加了新特性:可变参数。适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理。注意:可变参数必须位于最后一项。当可变参数个数多余一个时,必将有一个不是最后一项,所以只支持有一个可变参数。因为参数个数不定,所以当其后边还有相同类型参数时,java无法区分传入的参数属于前一个可变参数还是后边的参数,所以只能让可变参数位于最后一项[代码] 阅读全文
posted @ 2011-02-10 19:31 Ruthless 阅读(3155) 评论(0) 推荐(2) 编辑