使用java 中string类的构造方法测试!

String()初始化一个新创建的String对象,它表示一个空字符序列。String(byte[]bytes)构造一个新的String,方法是使用平台的默认字符集解码字... String()
初始化一个新创建的 String 对象,它表示一个空字符序列。
String(byte[] bytes)
构造一个新的 String,方法是使用平台的默认字符集解码字节的指定数组。
String(byte[] ascii, int hibyte)
已过时。 该方法无法将字节正确转换为字符。从 JDK 1.1 起,完成该转换的首选方法是通过 String 构造方法,该方法接受一个字符集名称或使用平台的默认字符集。
String(byte[] bytes, int offset, int length)
构造一个新的 String,方法是使用指定的字符集解码字节的指定子数组。
String(byte[] ascii, int hibyte, int offset, int count)
已过时。 该方法无法将字节正确转换为字符。从 JDK 1.1 开始,完成该转换的首选方法是通过 String 构造方法,它接受一个字符集名称,或者使用平台默认的字符集。
String(byte[] bytes, int offset, int length, String charsetName)
构造一个新的 String,方法是使用指定的字符集解码字节的指定子数组。
String(byte[] bytes, String charsetName)
构造一个新的 String,方法是使用指定的字符集解码指定的字节数组。
String(char[] value)
分配一个新的 String,它表示当前字符数组参数中包含的字符序列。
String(char[] value, int offset, int count)
分配一个新的 String,它包含来自该字符数组参数的一个子数组的字符。
String(int[] codePoints, int offset, int count)
分配一个新的 String,它包含该 Unicode 代码点数组参数的一个子数组的字符。
String(String original)
初始化一个新创建的 String 对象,表示一个与该参数相同的字符序列;换句话说,新创建的字符串是该参数字符串的一个副本。
String(StringBuffer buffer)
分配一个新的字符串,它包含当前包含在字符串缓冲区参数中的字符序列。
String(StringBuilder builder)
分配一个新的字符串,它包含当前包含在字符串生成器参数中的字符序列。

就是使用这13中构造方法做测试!
像这样:
public class array
{

public array()
{
String a="ttt";
String s=new String(a);
System.out.print(s);
}
}

public class array_test {
public static void main(String[] args)
{
array a=new array();

}

}
展开
 我来答
匿名用户
推荐于2016-10-30
展开全部
  String : 字符串类型
  一、构造函数
String(byte[ ] bytes):通过byte数组构造字符串对象。
String(char[ ] value):通过char数组构造字符串对象。
String(Sting original):构造一个original的副本。即:拷贝一个original。
String(StringBuffer buffer):通过StringBuffer数组构造字符串对象。
例如:
byte[] b = {'a','b','c','d','e','f','g','h','i','j'};
char[] c = {'0','1','2','3','4','5','6','7','8','9'};
String sb = new String(b); //abcdefghij
String sb_sub = new String(b,3,2); //de
String sc = new String(c); //0123456789
String sc_sub = new String(c,3,2); //34
String sb_copy = new String(sb); //abcdefghij
System.out.println("sb:"+sb);
System.out.println("sb_sub:"+sb_sub);
System.out.println("sc:"+sc);
System.out.println("sc_sub:"+sc_sub);
System.out.println("sb_copy:"+sb_copy);
输出结果:sb:abcdefghij
sb_sub:de
sc:0123456789
sc_sub:34
sb_copy:abcdefghij
  二、方法:
  说明:①、所有方法均为public。
②、书写格式: [修饰符] <返回类型><方法名([参数列表])>
  例如:static int parseInt(String s)
表示此方法(parseInt)为类方法(static),返回类型为(int),方法所需要为String类型。
gzaicd
2011-10-06
知道答主
回答量:6
采纳率:0%
帮助的人:3.7万
展开全部
写个main方法,直接将这些new String()按照文档全部写完就行了,文档上都把每个构造函数的各个参数的意义都说清楚了,你看清楚意思,再添加进去就OK了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hikongkong
推荐于2016-08-26 · TA获得超过326个赞
知道小有建树答主
回答量:1199
采纳率:0%
帮助的人:701万
展开全部
汗,学东西不是你这样学的,
搜索使用主要的,其次是要知道每隔构造函数的作用,有待以后使用。没有你这么玩的,
如果这样有很多 对象都有很多构造方法那你不是要崩溃。
追问
我也不想啊。。。老师脑子被敲坏了!
自己敲了3个!不想敲了!头痛呐!!!
追答
汗,你们老师脑子是不是进水了啊~~
慢慢敲吧。自己敲自己能记住,别人在怎么敲,你复制粘贴你过些日子就忘记了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
嘸限畅赽
2011-10-06 · TA获得超过357个赞
知道小有建树答主
回答量:413
采纳率:50%
帮助的人:109万
展开全部
String s1 = new String();//.......这个..不说了.
byte[] a = s1.getBytes();
try {
String s2 = new String(a);//第二个构造..把一个byte数组组合成一个字符串,
String s7 = new String (a,2, 3,"GB2312");//第七个构造..把一个byte数组以某个字符集的编码组合成一个字符串,

} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
既然你都有文档了...还有问题.只能说明,你很懒.....!!
追问
老师让把这个文档string类下所有构造函数写个测试方法!写的蛋疼。。很多都有问题!
import java.nio.*;
public class NewClass {

public static void main(String[] args) {
byte[] b={1,2,3,4,5};
String str = new String(b,2,3,Charset.forName("UTF-16"));
System.out.println(str);
}
}
//错误:Charset cannot be resolved
追答
这个错是说  UTF-16的字符集,,,你试试换个别的...UTF-8,GBK,GB2312,ISO-8859-1 啥的.  
这里面的2 和3..你应该改成0和5 0数组起始下标 5 新字符的长度
还有你要把12345 这几个INT改成CHAR.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
flyingFish211
2011-10-06 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
真的很蛋疼
import java.io.UnsupportedEncodingException;

public class StrConstructor {

public static void main(String[] args) throws UnsupportedEncodingException {

//String()
String one = new String();
System.out.println("String() -->" + one);

//String(byte[] bytes)
byte[] byteAry = {1, 3, 5, 7, 8};
String two = new String(byteAry);
System.out.println("String(byte[] bytes)-->" + two);

//String(byte[] ascii, int hibyte)
byte[] ary2 = {45, 66, 127, 90};
String three = new String(ary2, 0);
System.out.println("String(byte[] ascii, int hibyte)" + three);

//String(byte[] bytes, int offset, int length)
byte[] ary3 = {25, 33, 11,25, 123, 25};
String four = new String(ary3, 2, 2);;
System.out.println("String(byte[] bytes, int offset, int length)--->" + four);

//String(byte[] ascii, int hibyte, int offset, int count)
byte[] ary4 = {22, 37, 65, 73, 115, 91};
String five = new String(ary4, 0, 1, 3);
System.out.println("String(byte[] ascii, int hibyte, int offset, int count)" + "-->" + five);

//String(byte[] bytes, int offset, int length, String charsetName)
byte[] ary5 = {11, 33, 23, 56, 73, 39, 83};
String six = new String(ary5, 2, 3, "US-ASCII");
System.out.println("String(byte[] bytes, int offset, int length, String charsetName)" + "-->" + six);

//String(byte[] bytes, String charsetName)
byte[] ary6 = {11, 33, 55, 34, 67};
String seven = new String(ary6, "UTF-8");
System.out.println("String(byte[] bytes, String charsetName)" + "-->" + seven);

// String(char[] value)
char[] ary7 = {'a', 'A', 'e', 'H', 'f', ' ', 'K'};
String eight = new String(ary7);
System.out.println("String(char[] value)" + "-->" + eight);

//String(char[] value, int offset, int count)
char[] ary8 = {'z', 'z', 'b', ' ', 'C', 'e', 'M', 'L', 'G', 'B'};
String nine = new String(ary8, 2, 5);
System.out.println("String(char[] value, int offset, int count) " + "-->" + nine);

//String(int[] codePoints, int offset, int count)
int[] codePoints = {11, 22, 33, 55, 77};
String ten = new String(codePoints, 1, 2);
System.out.println("String(int[] codePoints, int offset, int count)" + "-->" + ten);

//String(String original)
String org = new String("original");
System.out.println("String(String original) " + "-->" + org);

//String(StringBuffer buffer)
StringBuffer sb = new StringBuffer();
sb.append("abcd");
sb.append(1234);
sb.append("ABCDEFG");
String eleven = new String(sb);
System.out.println("String(StringBuffer buffer)" + "-->" + eleven);

//String(StringBuilder builder)
StringBuilder sbld = new StringBuilder();
sbld.append("abcd");
sbld.append(1234);
sbld.append("ABCDEFG");
String tweleve = new String(sbld);
System.out.println("String(StringBuilder builder)--->" + tweleve);

}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式