review09

String类在java.lang包中,由于java.lang包中的类被默认引入,所以可以直接使用String类。String对象的创建可以直接使用带字符串参数的构造方法

String s = new String("we are students");

也可以用一个已创建的字符串创建另一个字符串,如:

String tom = new String(s);

这里介绍将字符数组和字符串相互转换的两个方法。

将字符数组转换为字符串

char a[] = {'J','a','v','a'};

String s = new String(a);

实际上相当于

String s = new String("Java");

 将字符串转换为字符数组

String s = "中华人民共和国今天成立了!";

char c[] = s.toCharArray();

展示如下:

public class Test02 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String s = "中华人民共和国今天成立了!";
		char c[] = s.toCharArray();
		for(int i = 0; i < c.length; i++)
		{
			System.out.print(c[i]);
		}
	}

}

 运行结果如下:

 

 String的构造方法还会有String(char a[], int startIndex, int count)提取字符数组a中的一部分字符创建一个字符串对象,参数startIndex和count分别制定在a中提取字符的起始位置和从该位置开始截取的字符个数,如

char a[] = {'1','2','3','4','5','6'};

String s = new String(a,2,4);

相当于String s = new String("3456");

 字符串常量是对象,因此可以把它作为字符串常量的引用赋值给一个字符串变量,例如

String s1, s2;
s1 = "how are you";
s2 = "how are you";
System.out.println(s1==s2);

输出的结果是true.

s1,s2具有相同的引用,因而具有相同的实体。

因为s1本身就是字符串常量对象,所以s1.toString()的输出是字符串本身。

String类的常用方法

 获取字符串长度的方法是length(),比较字符串实体相同的方法是equals(String s),忽略大小写时可以用equalsIgnoreCase(String s).

下面用代码说明equals方法和“==”的区别

public class Test03 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String s1, s2;
		s1 = new String("天道酬勤");
		s2 = new String("天道酬勤");
		System.out.println(s1.equals(s2));
		System.out.println(s1 == s2);
		String s3, s4;
		s3 = "勇者无敌";
		s4 = "勇者无敌";
		System.out.println(s3.equals(s4));
		System.out.println(s3 == s4);
	}
}

 运行结果如下所示:

public boolean startsWith(String s)、public boolean endsWith(String s)方法

String tom = "天气预报,阴有小雨", jerry = "比赛结果,中国足球常胜";

tom.startWith("天气")为true,jerry.endsWith("比赛")为true.

public int compareTo(String s),将按字典序与参数s指定的字符串进行比较大小,如果当前字符串与s相同,该方法返回0,如果当前字符串对象大于s,该方法返回正值,否则返回负值。

如String str = "abcde";

str.compareTo("boy")小于0。

sort()方法在字符串数组中的用法

sort()方法是java.util.Collections类中的,下面介绍sort()方法的使用。

public class Test04 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int []b = {2,3,1,6,4,9,8};
		System.out.println("使用SortString类的方法按字典序排列数组b:");
		Arrays.sort(b);
		for(int i : b)
		{
			System.out.print(" " + i);
		}
	}
}

 运行结果如下所示:

当然我们也可以改变排序方式,那就要重写sort方法。

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class Test05 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		List<Integer> list = new ArrayList<Integer>();
		list.add(9);
		list.add(10);
		list.add(8);
		list.add(7);
		Collections.sort(list, new Comparator<Integer>(){

			@Override
			public int compare(Integer o1, Integer o2) {
				// TODO Auto-generated method stub
				if(o1 > o2)
					return -1;
				else if(o1 < o2)
					return 1;
				else
					return 0;
			}
		});
		for(int a : list)
		{
			System.out.print(" " + a);
		}
	}

} 

结果如下:

我们也可以自己编写一个类,如SortString,在类中实现sort()方法,大小的比较用方法compareTo(String str)来实现。

public boolean contains(String s)方法用来判断当前字符串对象是否含有参数指定的字符串s,如果含有返回true,否则返回false.

转载于:https://www.cnblogs.com/liaoxiaolao/p/9261161.html

<li id="R1HDLG7SZHMHYV" data-hook="review" class="review aok-relative"><span class="a-list-item"><div id="R1HDLG7SZHMHYV-review-card" class="a-row a-spacing-none"><div id="customer_review-R1HDLG7SZHMHYV" class="a-section celwidget" data-csa-c-id="c80ke7-cxfxc4-ylyeir-f3e4vr" data-cel-widget="customer_review-R1HDLG7SZHMHYV"><script> var metricsName = "DesktopCredibleBadgesInTopReviewsDetailPageCount" </script> <script> if(window.ue) { ue.count(metricsName, 0) } </script> <div data-hook="genome-widget" class="a-row a-spacing-mini"><a href="/gp/profile/amzn1.account.AEXYQEJO22PDN2GT4J7JKNXIYCWA/ref=cm_cr_dp_d_gw_tr?ie=UTF8" class="a-profile" data-a-size="small"><div aria-hidden="true" class="a-profile-avatar-wrapper"><div class="a-profile-avatar"><img src="https://m.media-amazon.com/images/S/amazon-avatars-global/default.png" class="" data-src="https://m.media-amazon.com/images/S/amazon-avatars-global/default.png"><noscript><img src="https://m.media-amazon.com/images/S/amazon-avatars-global/default.png"/></noscript></div></div><div class="a-profile-content"><span class="a-profile-name" _msttexthash="4468191" _msthash="1239">国家</span></div></a></div><div class="a-row"><h5><a data-hook="review-title" class="a-size-base a-link-normal review-title a-color-base review-title-content a-text-bold" href="/gp/customer-reviews/R1HDLG7SZHMHYV/ref=cm_cr_dp_d_rvw_ttl?ie=UTF8&ASIN=B09D7NR6VC"><i data-hook="review-star-rating" class="a-icon a-icon-star a-star-5 review-rating"><span class="a-icon-alt" _msttexthash="56826159" _msthash="1240">5.0 颗星(满分 5 颗星)</span></i><span class="a-letter-space"></span> <span _msttexthash="10749388" _msthash="1241">易于使用</span> </a></h5></div><span data-hook="review-date" aria-level="6" class="a-size-base a-color-secondary review-date" role="heading" _msttexthash="49522785" _msthash="1242">于 2025 年 2 月 17 日在英国审查</span><div class="a-row a-spacing-mini review-data review-format-strip"><font _mstmutation="
04-02
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值