码迷,mamicode.com
首页 > 编程语言 > 详细

java.lang.String

时间:2015-10-29 23:07:07      阅读:288      评论:0      收藏:0      [点我收藏+]

标签:

1、String 是一个类,广泛应用于 Java 程序中,相当于一系列的字符串。在 Java 语言中 strings are objects。创建一个 strings 最直接的方式是

String greeting = "Hello world!";

可以利用新的关键字和 String 构造器创建新对象。String 类有十三个构造器,可以根据传入类型的不同,构造不同的对象。比如 character 数组:

char[] helloArray = { ‘h‘, ‘e‘, ‘l‘, ‘l‘, ‘o‘, ‘.‘ };
String helloString = new String(helloArray);
System.out.println(helloString);

2、String 类是不变模式,所以它创建的 String 对象也不可变。String 类有一系列用于修改 strings 对象的方法。因为 strings 对象是不可变的,这些方法真正做的是创建并返回一个包含操作结果的新 string 。

3、用于获取一个对象信息的方法是存取器方法。比如,length() 方法,它返回这个 string 对象所包含的字符数量。

public class StringDemo {
    
    public static void main(String[] args) {
        
        String palindrome = "Dot saw I was Tod";
        int len = palindrome.length();                        // 获取长度
        
        char[] tempCharArray = new char[len];
        char[] charArray = new char[len];
        
        // put original string in an array of chars
        for (int i = 0; i < len; i++) {
            tempCharArray[i] = palindrome.charAt(i);       // 获取指定位置的 char 值 // 第一个 character 是 0 最后一个是 length()-1
        }
        
        // reverse array of chars
        for (int j = 0; j < len; j++) {
            charArray[j] = tempCharArray[len - 1 - j];  
        }
        
        String reversePalindrome = new String(charArray);  // 将 char 数组转化为 String 类型
        System.out.println(reversePalindrome);
    }
}

4、String 类包含一个 getChar() 方法,将一个 string 或 string 的一部分转化为一个 characters 数组。因此我们可以将上述程序的第一个 for 循环改为

palindrome.getChars(0, len, tempCharArray, 0);
  getChar 方法的定义: void java.lang.String.getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
 void java.lang.String.getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)

Copies characters from this string into the destination character array.

The first character to be copied is at index srcBegin; the last character to be copied is at index srcEnd-1 (thus the total number of characters to be copied is srcEnd-srcBegin). The characters are copied into the subarray of dst starting at index dstBegin and ending at index:

   dstbegin + (srcEnd-srcBegin) - 1

5、String 类包含一个连接两个字符串的方法:

string1.concat(string2);

返回一个新的 string,即string1string2(string2 添加至 string1 的末尾)。

也可以这么用:

"My name is ".concat("Rumplestiltskin");

连接字符串,更常用的是"+"。比如:

"Hello," + " world" + "!"

的结果是:

"Hello, world!"

这种连接方法可以用来连接各种对象。对于不是 String 的对象,可以用 toString() 方法转化为 String

6、Java 语言不允许 strings 跨行,所以必须在每一行的结尾,用"+"操作符对每一行进行连接。

String quote =
"Now is the time for all good " +
"men to come to the aid of their country. "

7、将 string 转换为对应的数字类,数字类中的 valueOf 方法,。

public class ValueOfDemo {
public static void main(String[] args) {
// this program requires two arguments on the command line
if (args.length == 2) {
// convert strings to numbers
float a = (Float.valueOf(args[0])).floatValue();
float b = (Float.valueOf(args[1])).floatValue();
// do some arithmetic
System.out.println("a + b = " + (a + b));
System.out.println("a - b = " + (a - b));
} else {
System.out.println("This program " +
"requires two command-line arguments.");
}
}
}

parseXXXX() 方法 : 也是返回数据。praseXXXX() 返回的为原始的数据(如 int 类型数据),valueOf返回的为对象(如 Integer 类的对象)

8、将数字转化为 string :代码展示如下。

// 方法一
int
i; // Concatenate "i" with an empty string; conversion is handled for you. String s1 = "" + i;
// 方法二
// The valueOf class method. String s2 = String.valueOf(i);

// 方法三
int i;
double d;
String s3 = Integer.toString(i);
String s4 = Double.toString(d);

9、String 中的 substring 方法截取子字符串:

String substring(int beginIndex, int endIndex) 
        // 第一个int为开始的索引,对应String数字中的开始位置, 从0开始
        // 第二个是截止的索引位置,对应String中的结束位置
        
        // 下例输出    ri
        System.out.println("String".substring(2, 4));
public String substring(int beginIndex)
 "unhappy".substring(2) returns "happy"
 "Harbison".substring(3) returns "bison"
 "emptiness".substring(9) returns "" (an empty string)

10、String[] split(String regex, int limit)

方法,头一个参数String regex表示字符串分割的模式,包括分隔符和正则表达式;但是第二个参数limit比较迷糊人,api中这样解释:

limit 参数控制模式应用的次数,因此影响所得数组的长度。如果该限制 n 大于 0,则模式将被最多应用 n - 1 次,数组的长度将不会大于 n,而且数组的最后一项将包含所有超出最后匹配的定界符的输入。如果 n 为非正,那么模式将被应用尽可能多的次数,而且数组可以是任何长度。如果 n 为 0,那么模式将被应用尽可能多的次数,数组可以是任何长度,并且结尾空字符串将被丢弃。

11、String trim() 去掉字符串两边的空格 

 

java.lang.String

标签:

原文地址:http://www.cnblogs.com/tf-Y/p/4918514.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!