Java学习(3)-Java.Util包之其它类

 
本篇文章主要讨论不属于类集的而在java.util包中的一些常用的类.
1.       StringTokenizer
主要用来对指定的串用指定的分隔符来分割返回。如果不指定分隔符,那么默认地分隔符可以是空格、tab键,回车以及换行。
1.1) StringTokenizer的contstuctor 函数:
StringTokenizer(String str)
StringTokenizer(String str, String delim)
StringTokenizer(String str,String delim, Boolean returnDelims)
1.2)StringTokenizer主要的方法
hasMoreTokens() //判断是否还有被割地元素
nextToken()      //返回被割地元素
2.       BitSet
   如果你想仿效C的编程风格在一个单独变量中存储许多布尔变量值的话,使用java.util.BitSet类要比把它们编译成一个初始的’long’型变量更好。
   BitSet类以简练和低内存消耗的方式处理一系列的选项是有益的。它提供了将N个位存进一个普通对象的方法。
   2.1)创建一个BitSet
    BitSet bits=new BitSet();
   bits.set(1);
bits.set(4); 
System.out.println(bits)   // as a result, 将输出{1,4}
   2.2)使用一种以二进制表示输出的方法,更为直观
     static public String output(BitSet bits) {
    
int size=bits.length();
    
StringBuffer buffer=new StringBuffer();
    
for (int i=0; i<size;i++)
    
buffer.append((bits.get(i))?”1”:”0”);
    
}
    
return buffer.toString();
   }
2.3)操作的方法:And , XOR; OR;
3.       Date- Calendar- GregorianCalendar
4.       TimeZone- SimpleTimeZone - Locale
5.       Random
6.       Observer
   Java作为一种面向对象的开发语言,对实现设计模式提供了良好的支持,并且提供了许多默认的实现,比如:通过Java中的Observable类和Observer接口可以方便的实现观察者模式。日常生活中说起观察者,最常见的例子可能就是天气预报,在这里我们的观察对象是地球,而我们是通过发射气象卫星这个观察者来检测地球气象变化的。有两个主要的对象:
地球  (Earth):                                          被观察对象
气象卫星(Satellite):                        观察者
 import    java.util.Observable;
/* *  被观察对象:地球*/
   
    public      class    Earth    extends    Observable      {
         private    String  weather    =      "  晴朗  "  ;        
/*    @return    Returns  the  weather. */  
          public    String  getWeather()      {
                 return    weather;
       }  
       public      void    setWeather(String  weather)      {
                 this  .weather    =    weather;
                 //    设置变化点  
                 setChanged();
               notifyObservers(weather);
       }  
}  
 
 public class Satellite implements Observer{
      private String weather;
      public void update(Observable obj,Object arg){
       weather=(String)arg;
       System.out.println("Observer view:"+ weather);
        }
      }
使用:
public static void main(String[] args){
       Earth earth=new Earth();
       Satellite satellite=new Satellite();
       earth.addObserver(satellite);
       System.out.println("Weather forecast: ");
       earth.setWeather("Cloudy");
       earth.setWeather("Rainny");
       earth.setWeather("Storm");
     }
}
Output:
Weather forecast:
Observer view:Cloudy
Observer view:Rainny
Observer view:Storm
7.       Timer TimerTask
这两个类结合在一起可以完成:提前安排某时间完成任务的能力。它的工作过程可以是这样的,首先由Timer创建一个工作于后台的定时线程,当指定时间到来,与这个定时线程相联的任务(TimerTask定义)就会被执行。
   例子:
   import java.util.*;
class MyTimerTask extends TimerTask{
   public void run(){
     //在这儿要定义你需要完成的任务
     System.out.println(“Timer task execute”);
}
 }
 使用:
 MyTimerTask myTask=new MyTimerTask();//定义一个TimerTask类,所要执行的任务已在前面run()中定义;
 Timer myTimer=new Timer()
 myTimer.schedule(myTask, 1000,500) //schedule 这个task在1000ms后执行,每500ms执行一次。
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值