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类
String s1 = "hello";
String s2 = " world";
s1+=s2;
Sting是不可变字符序列,所以需要重新分配一个hello world,s1重新指向hello world。StringBuffer可以直接在hello 后面添加 world,无需重新分配。
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
}
}