Java常用类

1、字符串相关类(String、StringBuffer)

1.1String类

1.java.lang.String类代表不可变的字符序列

2.“XXXXX”为该类的一个对象。

3.String类的常见构造方法:

String(String original)创建一个String对象为original的拷贝

String(char[] value)用一个字符数组创建一个String对象

String(char[] value,int offset,int count)用一个字符数组从offset项开始的count个字符序列创建一个String对象

public class Test {
	public static void main(String[] args) {
		String s1 = "hello";
		String s2 = "hello";
		System.out.println(s1 == s2); //true  编译器使其指向同一个字符串常量
		System.out.println(s1.equals(s2));//true equals方法被重写,只比较字符串内容
		
		String s3 = new String("hello");
		String s4 = new String("hello");
		System.out.println(s3 == s4);//false  两个不同对象
		System.out.println(s3.equals(s4));//true equals方法被重写,只比较字符串内容
		
		char[] c = {'s','u','n',' ','j','a','v','a'};
		String s5 = new String(c);
		String s6 = new String(c,4,4);
		System.out.println(s5);//sun java
		System.out.println(s6);//java
	}

}

4.String类常用方法

①静态重载方法

public static String valueOf(...)可以将基本类型数据转换为字符串;

例如:public static String valueOf(double d)

     public static String valueOf(int i)

import java.util.Date;

public class Test {
	public static void main(String[] args) {		
		double d = 12456.265;
		System.out.println(String.valueOf(d));//12456.265
		boolean b = true;
		System.out.println(String.valueOf(b));//true
		
		Date date = new Date();
		System.out.println(String.valueOf(date));  //Sun Jan 29 14:03:53 CST 2012 调用了date的toString()方法。
		System.out.println(date.toString());//Sun Jan 29 14:04:28 CST 2012
		
		testA testa = new testA("A","B");
		System.out.println(String.valueOf(testa));//a is A b is B,调用testa的toString()方法。
	}
}

class testA{
	String a;
	String b;
	
	public testA(String a,String b){
		this.a = a;
		this.b = b;
	}
	
	public String toString(){
		return "a is " + a + " b is " + b;
	}
}

②方法public String[] split(String regex)可以将一个字符串按照指定的分隔符分割,返回分割后的字符串数组。

1.2StingBuffer类

1.java.lang.StringBuffer代表可变的字符序列
		String s1 = "hello";
		String s2 = " world";
		s1+=s2;

Sting是不可变字符序列,所以需要重新分配一个hello world,s1重新指向hello world。StringBuffer可以直接在hello 后面添加 world,无需重新分配。


2.StringBuffer和String类似,但StringBuffer可以对其字符串进行改变。
3.StringBuffer类的常见构造方法:
StringBuffer()创建一个不包含字符序列的“空”的StringBuffer对象。
StringBuffer(String str)创建一个StringBuffer对象,包含与String对象str相同的字符序列。

2、基本数据类型包装类

1.包装类(如:Integer,Double等)这些类封装了一个相应的基本数据类型数值。并为其提供了一系列操作。

2.以java.lang.Integer类为例,构造方法:

Integer(int value)

Integer(String s)

3、File类

1.java.io.File类代表系统文件名(路径和文件名)

2.File类的常见构造方法

public File(String pathname)以pathname为路径创建File对象,如果pathname是相对路径,则默认的当前路径在系统属性user.dir中存储。

public File(String parent,String child)以parent为父路径,child为子路径创建File对象。

3.File的镜头属性String separatro存储了当前系统的路径分隔符。

4.通过File对象创建空文件或目录(在该对象所指的文件或目录不存在的情况下)

public boolean createNewFile() throws IOException

public boolean delete()

public boolean mkdir()

public boolean mkdirs()//创建在路径中得一系列目录

package com.socket;

import java.io.File;
import java.io.IOException;

public class Test {
	public static void main(String[] args) {		
		String separator = File.separator;
		String fileName = "myfile.txt";
		String directory = "mydir1" + separator +"mydir2";
		//String directory = "mydir1/mydir2";
		//String directory = "mydir1\\mydir2";
		
		File f = new File(directory,fileName);//在内存中生成了一个File实例,而不是在硬盘上生成
		//在硬盘上生成目录和空文件
		if(f.exists()){
			System.out.println("文件名:" + f.getAbsolutePath());
			System.out.println("文件大小:" + f.length());
		}
		else{
			f.getParentFile().mkdirs(); //f.getParentFile()是找Test.class的父路径,
					           //但若在包内,在寻找包得上层路径,
						//即com.socket.Test.class的上层路径(因为com.socket.Test作为完整类名)
			try{
				f.createNewFile();
			}
			catch(IOException e){
				e.printStackTrace();
			}
		}
		
	}
}

D:\workspace\testProject\mydir1\mydir2\myfile.txt

d:\workspace\testProject为当前项目所在路径


4、枚举类java.lang.Enum

枚举类型:只能够取特定值中的一个;使用enum关键字;是java.lang.Enum类型

 

package com.socket;


public class Test {
	//定義了一種新的類型mycolor,即定義了一個新的類,可以定義該類的變量,定義的变量只能取red,green,blue三個值之一,
	//這三個值好比是mycolor的静态变量。
	//与c不同,不可以用0,1,2指定red,green,blue
	public enum mycolor{red,green,blue}; 
	
	public static void main(String[] args) {
		mycolor m = mycolor.red;    //不可以写mycolor m = 0,只能取red,green,blue三个值之一
		switch(m){
			case red:
				System.out.println("red");  //red
				break;
			case green:
				System.out.println("green");
				break;
			default:
				System.out.println("default");
		}
		System.out.println(m);    //red
				
	}
}



 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值