import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.*;
import java.io.*;
import java.nio.CharBuffer;
public class RegTest
{
public static void main(String[] args)
{
//定义一个文章列表类。包含文章的网址和文章标题
class ArticleList{
String URLs;
String title;
public ArticleList(){}
public ArticleList(String t,String u)
{
title=t;
&n ......
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.*;
import java.io.*;
import java.nio.CharBuffer;
public class RegTest
{
public static void main(String[] args)
{
//定义一个文章列表类。包含文章的网址和文章标题
class ArticleList{
String URLs;
String title;
public ArticleList(){}
public ArticleList(String t,String u)
{
title=t;
&n ......
Java程序设计语言使用值调用。也就是说。方法得到的是所有参数值的一个拷贝,特别是,方法不能修改传递给它的任何参数变量的内容。
下面说明下这种情况。假定一个方法试图将一个参数值增加至3倍:
public static void func(double x){
x=3*x
}
调用这个方法
double d=10;
func(10);
无论怎样调用这个方法,执行之后,d的值还是10。下面是他具体执行的过程。
1)、x被初始化为d值的一个拷贝
2)、x*3后值为30。但是d值仍为10。
3)、方法结束之后,参数变量x不再使用。
方法参数共有两种类型;
1)、基本的数据类型(数字、布尔型)。
2)、对象引用。
一个方法不可能修改一个基本数据类型的参数,而对象引用作为参数就不同了。很容易修改对象里面的数据。
public static void func(employe x) //employe对象在下面给出。
{
x.setage(20);
}
当调用
harry =new employe(……);
func(harry);
对象引用的执行过程为:
1)、x被初始化为harry值的一份拷贝,这里是一个对象的引用。
2)、setage方法应用于这个对象的应用。x和harry同时引用那个employe对象的age。
3)、方法结束后,参数变 ......
http://www.javaalmanac.com - Java开发者年鉴一书的在线版本. 要想快速查到某种Java技巧的用法及示例代码, 这是一个不错的去处.
http://www.onjava.com - O'Reilly的Java网站. 每周都有新文章.
http://java.sun.com - 官方的Java开发者网站 - 每周都有新文章发表.
http://www.developer.com/java - 由Gamelan.com 维护的Java技术文章网站.
http://www.java.net - Sun公司维护的一个Java社区网站.
http://www.builder.com - Cnet的Builder.com网站 - 所有的技术文章, 以Java为主.
http://www.ibm.com/developerworks/java - IBM的Developerworks技术网站; 这是其中的Java技术主页.
http://www.javaworld.com - 最早的一个Java站点. 每周更新Java技术文章.
http://www.devx.com/java - DevX维护的一个Java技术文章网站.
http://www.fawcette.com/javapro - JavaPro在线杂志网站.
http://www.sys-con.com/java - Java Developers Journal的在线杂志网站.
http://www.javadesktop.org - 位于Java.net的一个Java桌面技术社区网站.
http://www.theserverside.com - 这是一个讨论所有Java服务器端技术的网站.
http://www.jars.com - 提供Java评论服务. 包 ......
serialVersionUID作用:
序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性。
有两种生成方式:
一个是默认的1L,比如:private static final long serialVersionUID = 1L;
一个是根据类名、接口名、成员方法及属性等来生成一个64位的哈希字段,比如:
private static final long serialVersionUID = xxxxL;
当你一个类实现了Serializable接口,如果没有定义serialVersionUID,Eclipse会提供这个
提示功能告诉你去定义 。在Eclipse中点击类中warning的图标一下,Eclipse就会
自动给定两种生成的方式。如果不想定义它,在Eclipse的设置中也
可以把它关掉的,设置如下:
Window ==> Preferences ==> Java ==> Compiler ==> Error/Warnings ==>
Potential programming problems
&nbs ......
java Map 遍历速度最优解
第一种:
Map map = new HashMap();
Iterator iter = map.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
Object key = entry.getKey();
Object val = entry.getValue();
}
效率高,以后一定要使用此种方式!
第二种:
Map map = new HashMap();
Iterator iter = map.keySet().iterator();
while (iter.hasNext()) {
Object key = iter.next();
Object val = map.get(key);
}
效率低,以后尽量少使用!
HashMap的遍历有两种常用的方法,那就是使用keyset及entryset来进行遍历,但两者的遍历速度是有差别的,下面请看实例:
public class HashMapTest {
public static void main(String[] args) ...{
HashMap hashmap = new HashMap();
for (int i = 0; i < 1000; i ) ...{
hashmap.put("" i, "thanks");
}
long bs = Calendar.getInstance().getTimeInMillis();
Iterator iterator = hashmap.keySet().iterator();
while (iterator.hasNext()) ...{
System.out.print(hashmap.get(iterator.next()));
}
System.out.println();
System.out. ......
ParserAdapter,MouseInputAdapter....
interface can be added to an existing class or used to create an adapter
方法就是 面向结构语言的:函数
java中适配器的作用实际上是实现了接口的类,但是适配器所实现的只是空方法。因为如果我们不用适配器,直接去实现接口,也要逐个实现里面的方法,并且大多情况下我们也会像 jdk里适配器所做的:仅仅以空方法去实现,只实现对我们有用的方法。
几乎所有申明了很多方法 的接口,都会有它自己的 适配器类。
本身adapter没有什么作用,只是帮助程序员专注 所实现的功能,使代码简洁罢了
你可以查一下jdk:
java.awt.event.KeyAdapter
All Implemented Interfaces:
KeyListener, EventListener
它里面的方法:
void keyPressed(KeyEvent e)
Invoked when a key has been pressed.
void keyReleased(KeyEvent e)
Invoked when a key has been released.
void keyTyped(KeyEvent e)
Invoked when a key has been typed.
都是空方法
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/faith_zerg/archive/2007/09/30/1807850.aspx ......