请问如何截取String数组?

qq1212 2009-10-16 01:36:17
比如这样一串{"1","2","3"}的String数组,我如何做才能去掉数组最后一个元素,得到{"1","2"}这样的数组?

初步的设想是先把元素取出来,再把length-1个元素放回去,但这样有点繁琐。Java有提供操作数组截取的现成方法可用吗?
...全文
1413 10 打赏 收藏 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq1212 2009-10-16
  • 打赏
  • 举报
回复
哈哈 找的就是这个答案 谢啦 楼上好像对Java的方法很熟悉嘛 厉害啊
swandragon 2009-10-16
  • 打赏
  • 举报
回复

public static void main(String[] args){
String[] a = {"a","b","c"};
String[] b = new String[a.length - 1];
System.arraycopy(a,0,b,0,b.length);
System.out.println(b);
}
jian432 2009-10-16
  • 打赏
  • 举报
回复
       
String[] a={"1","2","3"};
String[] b=new String[a.length-1];
for(int i=0;i<a.length-1;i++){
b[i]=a[i];
}
a=b;
jian432 2009-10-16
  • 打赏
  • 举报
回复

String[] a={"1","2","3"};
String[] b=new String[2];
for(int i=0;i<a.length-1;i++){
b[i]=a[i];
}
a=b;

dryZeng 2009-10-16
  • 打赏
  • 举报
回复
用List简单



String a[]={"a","b","c"};
List<String> c=new ArrayList<String>();

for(String b:a){
c.add(b);
}
for(String b:c){
if("b".equals(b)){
c.remove(b);
}
}
for(String b:c){
System.out.println(b);
}



qq1212 2009-10-16
  • 打赏
  • 举报
回复
感谢楼上

但我的java是1.5的,没有为类型 Arrays 定义方法 copyOf(String[], int)

wj63558595 2009-10-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 swandragon 的回复:]
Java codepublicstaticvoid main(String[] args){
String[] a= {"a","b","c"};
String[] b= Arrays.copyOf(a,a.length-1);
System.out.println(b);
}
[/Quote]

正解
swandragon 2009-10-16
  • 打赏
  • 举报
回复

public static void main(String[] args){
String[] a = {"a","b","c"};
String[] b = Arrays.copyOf(a,a.length - 1);
System.out.println(b);
}
qq1212 2009-10-16
  • 打赏
  • 举报
回复
是字符串数组啊 不是字符串
welllit 2009-10-16
  • 打赏
  • 举报
回复
split 方法

62,620

社区成员

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

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