Java-初步认识-常用对象API(String类-构造函数)

一.

现在我们学习一下,对象给我提供的能够对该对象进行操作的方法。

这些功能分为两种,一种是构造,一种是一般方法。

先介绍构造方法,演示构造器必须查String类的说明,构造方法摘要,

上图中的写法没什么意思,(两者是一样,虽然地址不一样,但是内容是一样的),都是在构造空的字符串。

但是不要以为String s=null,也是等效的。前面两个都是对象,但是null是常量值为空。

真正操作字符串对象的时候,根本不需要new,直接用""创建即可,最为简单和方便,而且创建了还能被共享。

但是也不能说全部用""双引号创建字符串对象,我们说一些特殊的。在众多String类的构造函数方法中,很多方法并没有什么用。

上图中的就是一个特殊的,可以往里面传递数组,将数组变为一个字符串。

对数组进行遍历,拿它每一个元素和我的字符串进行连接,这样是可行的,但是很麻烦。String类中已经提供了相关的方法。

数组里面的数字,到字符串里面就变成了字符。如果里面是数字的话,它会自动进行阿斯科码表的查询。这是将一个字节数组变成字符串。这是举的一个例子,真正开发的时候它有自己的应用。因为字节是最小单位,我们要把很多最小单位组合而成一个字符串来给大家展示出来,或者要把这个字符串变成最小单位存储起来。

(能够将字节变成字符串)

另外一个方法很常用,创建一个字符数组。字符本身就是字符串里的一个单元。字符串是由字符组成的,

从结果看,数组变成字符串操作也方便一些。

对于字节数组或者字符数组,它们都有一个热点,它们里面都可以有一个offset的偏移量和length的长度。

我能把一个数组变成字符串,也能把数组的一部分变成字符串。这就是String的构造函数的好处,让数组变成字符串。这数组只有两种,一个是byte,另一个是char。下图的int和byte差不多

上图中的codePoints指的是,如果真的往里面int数组里输入的是97,98,99的话,它变完字符串是小写的abc,一般不用这个方法。

图中的offset是指起点,count是指取几个。

结果为s=apq

意思就是从这个数组的1角标开始取,连取三个。

package stringd.emo;

public class StringConstructorDemo {

	public static void main(String[] args) {
		stringConstructorDemo2();
	}

	public static void stringConstructorDemo2() {
		//字符变成字符串
		char data[] = {'a','c','d','f'};
		String s1 = new String(data, 0, 3);//从零角标开始,数三个
		System.out.println(s1);//acd
	}

	public static void stringConstructorDemo() {
		
		String s = new String();//等效于string s="",不等效于string s = null.
		
		byte[] arr = {97,66,67,68};
		
		String s1 = new String(arr);
		System.out.println(s1);//aBCD
		
		
	}

}

猜你喜欢

转载自blog.csdn.net/fighting_future/article/details/80464589