Java面试——字符串

String中的常用方法


 

1.写出下面程序的输出结果 abcd

public class StringTest
{
	public static void method(String str)
	{
		str = "Good Bye";
	}
	
	public static void main(String[] args)
	{
		String str = "abcd";
		method(str);
		System.out.println(str);
	}
}

 

2.String是最基本的数据类型吗?


 

3.下列选项哪些返回true?ACD

String s = "hello";

String t = "hello";

char[] c = {'h', 'e', 'l', 'l', 'o'};

A.s.equals(t)

B.t.equals(c)

C.s == t

D.t.equals(new String("hello"));

E.t == c


 

4.认真分析下面给出的程序片段,按要求回答问题。

1	public static void main(String[] args)
2	{
3		String str = new String("good");	// 执行到这一行时,创建了几个对象?
4		String str1 = "good";			// 执行到这一行时,创建了几个对象?
5		String str2 = new String("good");	// 执行到这一行时,创建了几个对象?
6		System.out.println(str == str1);	// 输出结果是什么?
7		System.out.println(str.equals(str2));	// 输出结果是什么?
8		System.out.println(str2 == str1);	// 输出结果是什么?
9	}

(1)在程序的第2-4行处,String对象创建了几个对象?分别写出。

(2)在程序的第5-7行处,分别写出输出结果。


 

 

 

 StringBuffer中的常用方法


 

5.请说出String与StringBuffer的区别


 

6.下列选项是StringBuffer的构造方法,哪些选项是正确的?ABCD

A.StringBuffer()

B.StringBuffer(int capacity)

C.StringBuffer(String str)

D.StringBuffer(CharSequence sq)

E.StringBuffer(char[] data) 

 

7.下面程序能编译通过吗?如果不能,请说明原因,如果能运行,请说明结果是什么?A

public class Test
{
	public static void main(String[] args)
	{
		StringBuffer sb = new StringBuffer("good_bye");
		sb.setLength(4);
		System.out.println(sb);
	}
}

A.将会打印good

B.将会打印good_

C.将会打印good_bye

D.在运行时候会抛出1个异常

E.不能编译,因为StringBuffer类中没有setLength方法


 

8.ByteBuffer和StringBuffer的区别

ByteBuffer


StringBuffer


 

9.byte转String

package org.fool.java.test;

import java.io.UnsupportedEncodingException;

public class Test {
    public static void main(String[] args) {
        String str = "你好,世界";

        String result1 = null;
        String result2 = null;

        try {
            result1 = new String(str.getBytes(), "UTF-8");
            result2 = new String(str.getBytes(), "ISO-8859-1");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }

        System.out.println(result1);
        System.out.println(result2);
    }
}

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值