Java如何将字符串放进字符串数组中

super_loverax 2013-06-13 08:49:19
比如,我有多个字符串,
String str1="aaa";
String str2="bbb";
String str3="ccc";

如何放进一个字符串数组里面,不确定要放进多少个字符串,String[] strArray=new String[N],这里不好设定N的值,怎么搞呢。
...全文
67410 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
cloudsinn 2015-08-07
  • 打赏
  • 举报
回复
感谢楼主及各位留言的朋友,这篇帖子助我写完代码
foreverlzyt 2014-04-18
  • 打赏
  • 举报
回复
如果想要把,"1.jpg","2.jpg",....."n.jpg",放入数组中呢,需要动态取得n的值,这个怎么添加呢?
super_loverax 2013-06-18
  • 打赏
  • 举报
回复
引用 17 楼 flagiris 的回复:
[quote=引用 16 楼 super_loverax 的回复:] [quote=引用 13 楼 flagiris 的回复:] [quote=引用 9 楼 super_loverax 的回复:] [quote=引用 4 楼 u011013370 的回复:] 用stringbuffer类也可以
最终结果是类似这样 {“aaa”,"bbb","ccc"}[/quote]

		String str1 = "aaa";
		String str2 = "bbb";
		String str3 = "ccc";
		List<String> list = new ArrayList<String>();
		list.add(str1);
		list.add(str2);
		list.add(str3);
		String[] arr = list.toArray(new String[0]);
		System.out.println(Arrays.toString(arr));
[/quote] 你的这一步有问题哦,String[] arr = list.toArray(new String[0]); 字符串数组长度不是0,应该是list的长度。[/quote] 晕,有没有问题你试试不就知道了???[/quote] 哎呦,不好意思。我没试验下。但是,为何参数new String[0]和new String[3]都可以呢,能解释下吗
菖蒲老先生 2013-06-17
  • 打赏
  • 举报
回复
引用 16 楼 super_loverax 的回复:
[quote=引用 13 楼 flagiris 的回复:] [quote=引用 9 楼 super_loverax 的回复:] [quote=引用 4 楼 u011013370 的回复:] 用stringbuffer类也可以
最终结果是类似这样 {“aaa”,"bbb","ccc"}[/quote]

		String str1 = "aaa";
		String str2 = "bbb";
		String str3 = "ccc";
		List<String> list = new ArrayList<String>();
		list.add(str1);
		list.add(str2);
		list.add(str3);
		String[] arr = list.toArray(new String[0]);
		System.out.println(Arrays.toString(arr));
[/quote] 你的这一步有问题哦,String[] arr = list.toArray(new String[0]); 字符串数组长度不是0,应该是list的长度。[/quote] 晕,有没有问题你试试不就知道了???
super_loverax 2013-06-15
  • 打赏
  • 举报
回复
引用 13 楼 flagiris 的回复:
[quote=引用 9 楼 super_loverax 的回复:] [quote=引用 4 楼 u011013370 的回复:] 用stringbuffer类也可以
最终结果是类似这样 {“aaa”,"bbb","ccc"}[/quote]

		String str1 = "aaa";
		String str2 = "bbb";
		String str3 = "ccc";
		List<String> list = new ArrayList<String>();
		list.add(str1);
		list.add(str2);
		list.add(str3);
		String[] arr = list.toArray(new String[0]);
		System.out.println(Arrays.toString(arr));
[/quote] 你的这一步有问题哦,String[] arr = list.toArray(new String[0]); 字符串数组长度不是0,应该是list的长度。
meisei81 2013-06-14
  • 打赏
  • 举报
回复
如果数组长度不确定的话,还是用集合去存放数组吧。比如arraylist。里面的size是自动变化的。
菖蒲老先生 2013-06-14
  • 打赏
  • 举报
回复
引用 9 楼 super_loverax 的回复:
[quote=引用 4 楼 u011013370 的回复:] 用stringbuffer类也可以
最终结果是类似这样 {“aaa”,"bbb","ccc"}[/quote]

		String str1 = "aaa";
		String str2 = "bbb";
		String str3 = "ccc";
		List<String> list = new ArrayList<String>();
		list.add(str1);
		list.add(str2);
		list.add(str3);
		String[] arr = list.toArray(new String[0]);
		System.out.println(Arrays.toString(arr));
ghostkngiht 2013-06-14
  • 打赏
  • 举报
回复

       List<String> list = new ArrayList<String>();
       list.add("aaa");
       list.add("bbb");
       list.add("ccc");
       String[] array = list.toArray(new String[list.size()]);
java_码农 2013-06-14
  • 打赏
  • 举报
回复
集合的出现就是解决 数组长度不可变的问题,建议用集合来解决
团团员圆 2013-06-13
  • 打赏
  • 举报
回复

package com.revise.text;

import java.util.ArrayList;

public class ToString {
	private ArrayList<String> StringList = null;
	
	private StringBuilder tempString = null;
	
	public ToString(){
		StringList = new ArrayList<String>();
		tempString = new StringBuilder();
	}

	public void AddString(String value){
		StringList.add(value);
	}
	
	public String getValue(){
		tempString.append("{");
		for(String temp  : StringList){
			tempString.append("\"").append(temp).append("\",");
		}
		String temp_1 = tempString.toString();
		temp_1 = (String) temp_1.substring(0, temp_1.length() -1);
		temp_1 = temp_1 + "}";
		return temp_1;
	}
	public static void main(String[] args) {
		ToString toSting = new ToString();
		toSting.AddString("aaa");
		toSting.AddString("bbb");
		System.out.println(toSting.getValue());
	}
}

齐岳 2013-06-13
  • 打赏
  • 举报
回复
引用 7 楼 super_loverax 的回复:
我最后要存放在字符串数组中,最后的结果是{“aaa”,"bbb","ccc"}这样的。
能做到 。 arrayList 有序存放,add 之后,你可以通过索引(下标)查询,也可整体查询 set 无序存放且不允许其内数据重复 至于容量,这些集合都是自动增长的。 另外,如果写成 ArrayList<Object> list = new ArrayList<Object>(); 可存放不同类型的数据 提取时 只需强转即可
super_loverax 2013-06-13
  • 打赏
  • 举报
回复
引用 4 楼 u011013370 的回复:
用stringbuffer类也可以
最终结果是类似这样 {“aaa”,"bbb","ccc"}
你怎么了熊吉 2013-06-13
  • 打赏
  • 举报
回复
引用 7 楼 super_loverax 的回复:
[quote=引用 6 楼 qiyuexuel 的回复:] 使用ArrayList 或Vector ArrayList<String> list = new ArrayList<String>(); 添加方法为 list.add(str1); 如果字符串不重复也可使用Set
我最后要存放在字符串数组中,最后的结果是{“aaa”,"bbb","ccc"}这样的。[/quote] 什么时候你确定所有添加都结束了,就数总的个数然后建立数组
super_loverax 2013-06-13
  • 打赏
  • 举报
回复
引用 6 楼 qiyuexuel 的回复:
使用ArrayList 或Vector ArrayList<String> list = new ArrayList<String>(); 添加方法为 list.add(str1); 如果字符串不重复也可使用Set
我最后要存放在字符串数组中,最后的结果是{“aaa”,"bbb","ccc"}这样的。
齐岳 2013-06-13
  • 打赏
  • 举报
回复
使用ArrayList 或Vector ArrayList<String> list = new ArrayList<String>(); 添加方法为 list.add(str1); 如果字符串不重复也可使用Set
摆烂办不到 2013-06-13
  • 打赏
  • 举报
回复
定义数组之前确定数组容量然后赋值给一个变量, 然后就可以String str = new String[变量名];
FaithEndFree 2013-06-13
  • 打赏
  • 举报
回复
用stringbuffer类也可以
  • 打赏
  • 举报
回复
直接用list
kittaaron 2013-06-13
  • 打赏
  • 举报
回复
数组是确定大小的,这种情况不要用数组,用ArrayList<String>或者Vector<String> 这两种都是连续存储的数据结构。可以动态添加数据,长度会自动增长
n27741 2013-06-13
  • 打赏
  • 举报
回复
用ArrayList (效果类似 动态数组) import java.util.*; ArrayList<String> list = new ArrayList<String>(); list.add(str1); list.add(str2); .....
JAVA精华》,共47页,20多万字,推荐下载! 1 JAVA SE 1.1 深入JAVA API 1.1.1 Lang包 1.1.1.1 String类和StringBuffer类 位于java.lang包中,这个包中的类使用时不用导入 String类一旦初始化就不可以改变,而stringbuffer则可以。它用于封装内容可变的字符串。它可以使用tostring()转换成string字符串。 String x=”a” 4 ”c”编译时等效于String x=new StringBuffer().append(“a”).append(4).append(“c”).toString(); 字符串常量是一种特殊的匿名对象,String s1=”hello”;String s2=”hello”;则s1==s2;因为他们指向同一个匿名对象。 如果String s1=new String(“hello”);String s2=new String(“hello”);则s1!=s2; /*逐行读取键盘输入,直到输入为“bye”时,结束程序 注:对于回车换行,在windows下面,有'\r'和'\n'两个,而unix下面只有'\n',但是写程序的时候都要把他区分开*/ public class readline { public static void main(String args[]) { String strInfo=null; int pos=0; byte[] buf=new byte[1024];//定义一个数组,存放换行前的各个字符 int ch=0; //存放读入的字符 system.out.println(“Please input a string:”); while(true) { try { ch=System.in.read(); //该方法每次读入一个字节的内容到ch变量中。 } catch(Exception e) { } switch(ch) { case '\r': //回车时,不进行处理 break; case '\n': //换行时,将数组总的内容放进字符串中 strInfo=new String(buf,0,pos); //该方法将数组中从第0个开始,到第pos个结束存入字符串。 if(strInfo.equals("bye")) //如果该字符串内容为bye,则退出程序。 { return; } else //如果不为bye,则输出,并且竟pos置为0,准备下次存入。 { System.out.println(strInfo); pos=0; break; } default: buf[pos ]=(byte)ch; //如果不是回车,换行,则将读取的数据存入数组中。 } } } } String类的常用成员方法 1、 构造方法: String(byte[] byte,int offset,int length);这个在上面已经用到。 2、 equalsIgnoreCase:忽略大小写的比较,上例中如果您输入的是BYE,则不会退出,因为大小写不同,但是如果使用这个方法,则会退出。 3、 indexOf(int ch);返回字符ch在字符串中首次出现的位置 4、 substring(int benginIndex); 5、 substring(int beginIndex,int endIndex); 返回字符串的子字符串,4返回从benginindex位置开始到结束的子字符串,5返回beginindex和endindex-1之间的子字符串。 基本数据类型包装类的作用是:将基本的数据类型包装成对象。因为有些方法不可以直接处理基本数据类型,只能处理对象,例如vector的add方法,参数就只能是对象。这时就需要使用他们的包装类将他们包装成对象。 ......

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧