package net.java2000.tools;
/**
* Title: Java Bean 工具
* Description:
* Copyright: Copyright (c) 2001
* Company: JAVA世纪网
* @author 赵学庆
* @version 1.0
*/
import java.util.*;
import java.util.regex.Pattern;
public class StrTools {
/**
* 分割字符串
*
* @param str String 原始字符串
* @param splitsign String 分隔符
* @return String[] 分割后的字符串数组
*/
@SuppressWarnings("unchecked")
public static String[] split(String str, String splitsign) {
int index;
if (str == null || splitsign == null)
return null;
ArrayList al = new ArrayList();
while ((index = str.indexOf(splitsign)) != -1) {
al.add(str.substring(0, index));
&nbs ......
随机数在实际中使用很广泛,比如要随即生成一个固定长度的字符串、数字。或者随即生成一个不定长度的数字、或者进行一个模拟的随机选择等等。Java提供了最基本的工具,可以帮助开发者来实现这一切。
一、Java随机数的产生方式
在Java中,随机数的概念从广义上将,有三种。
1、通过System.currentTimeMillis()来获取一个当前时间毫秒数的long型数字。
2、通过Math.random()返回一个0到1之间的double值。
3、通过Random类来产生一个随机数,这个是专业的Random工具类,功能强大。
二、Random类API说明
1、Java API说明
Random类的实例用于生成伪随机数流。此类使用 48 位的种子,使用线性同余公式对其进行修改,如果用相同的种子创建两个 Random 实例,则对每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列。为了保证属性的实现,为类 Random 指定了特定的算法。
很多应用程序会发现 Math 类中的 random 方法更易于使用。
2、方法摘要
......
在java程序中,万事万物皆对象,即使是java程序本身,也是一个对象
一、Reference是操纵对象之钥匙
c语言中是使用指针来操纵对象的,但是java呢?用的是reference来操纵对象,我习惯把他叫做句柄,句柄和对象的关系就想是电视遥控器和电视机的关系一样,既然是这样,那么遥控器和电视机都是可以独立出现的
例如:String name;
这个java语句只会产生句饼(遥控器),并不产生实际的对象(电视机),就想你老婆还没生孩子之前你们就把名字给取好了一样,句柄并没有连接到实际的对象上。这个样子写代码是不推荐的,一个没有指向对象的句柄在调用的时候编译器会抱错,应当使用String name="baby";,或者使用String name =new String("baby");这里new的意思是产生一个string类型的对象,并且这个string叫做baby。这2个方法都可以实现对象的建立。
二、所有的对象都需要你来建立
1、储存在那里
  ......
我个人理解初始化和清理的关系就是吃饭和上厕所,正是有了初始化的对象,我们才能使用清理。但是为什么要清理呢?想象一下一个人光吃不拉,是个什么情况?:)难道我们的程序也要像吃饭一样光产生对象,而不去清理使用完毕的对象?任由我们的对象堆积如山,占用系统资源?
以构造函数确保初始化的进行
什么构造函数?构造函数就是一种特殊的函数,当对象产生时,他会被系统自动的调用起来,并且这个函数名称和class名相同。
class ConstructorTest
{
ConstructorTest()//构造函数是没有返回值的,注意不是void的!
{
System.out.println("nothing!");
}
ConstructorTest(String s)
{
System.out.println(s);
&nb ......
最近对spring源码感兴趣,今天看到annotation部分,略记之。
一. 最常见的annotation
@Override:用在方法之上,用来告诉别人这一个方法是改写父类的
@Deprecated:建议别人不要使用旧的API的时候用的,编译的时候会用产生警告信息,可以设定在程序里的所有的元素上.
@SuppressWarnings:暂时把一些警告信息消息关闭
@Entity:表示该类是可持久化的类
二. 设计一个自己的Annotation
先看代码再讲话
1. 只有一个参数的Annotation实现
view plaincopy to clipboardprint?
package chb.test.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface MyAnnotation1 {
& ......
本文为您列举了Java众多特性中排名的前十个特性,不知道您是否有同样的感觉。
10) const,goto
什么?没错,它们都是Java的关键字,但它们什么也不干。
9) Java的些许趣味
像Personal Java,JavaOS.
8) 索引化的Jar
索引化的Jar是指这样的Jar文件中包含有一个特殊的索引文件(META-INF/INDEX.LIST),该文件用于指定该Jar中有哪些包。在Ant中,可用index=”true”.它的目的是为了Applet和Webstart应用能够延迟加载Jar文件,并提高类加载的速度。
7) bin目录中的多数exe文件
例如,javah.exe,javadoc.exe,jdb.exe,jar.exe.它们已被Ant,Maven和IDE取代了。
译者:虽然较少直接使用这些工具,但学会使用它们还是很有好处的。比如,在某时,我们手边并没有Ant,Maven或Eclipse之类的工具,特别当只是出于简单的应用,直接使用命令会更加便捷。
6) Applet
它在10年前很流行,从那开始,它的流行度就一直在下降。但Applet将会在Java SE 6 update 10中卷土重来。
译者:Applet还是有它的空间。如果一定要说有问题,那就是整个Java桌面应用的问题。
5) CORBA
该API可能会从开发者的”你最想从Java中删除的API”竟选中胜出。
4) javax.a ......