public class test {
public static String[] a=new String[10];
public static void main(String[] args) {
String s="12,55,32,78,41";
a[0] = s.substring(0);
System.out.println(a[0]);
}
}
就应该可以了,数组也是对象,public static String[] a只是创建了一个引用数组的句柄,还应该调用数组的构造函数创建对象后才能给数组赋值的
public static String[] a=new String[10];
public static void main(String[] args) {
String s="12,55,32,78,41";
a[0] = s.substring(0);
System.out.println(a[0]);
}
}
就应该可以了,数组也是对象,public static String[] a只是创建了一个引用数组的句柄,还应该调用数组的构造函数创建对象后才能给数组赋值的
public class test
{
public static ArrayList a = new ArrayList();
public static void main(String[] args)
{
String s="12,55,32,78,41";
a.add(s.substring(0));
for(i=0; i<a.size(); i++)
{
System.out.println("Output: " + (String)a.get(i));
}
}
}
String s="12,55,32,78,41";
StringTokenizer st= new StringTokenizer(s,",");
String[] a= newString[st.countTokens()];
public static String[] a;
public static void main(String[] args) {
String s="12,55,32,78,41";
a = new String[s.length()];//加上这一句
a[0] = s.substring(0);
System.out.println(a[0]);
}
}
这样应该符合你的要求了吧?
只能用一个字形容你的答案:爽!
唉,我写了这么久程序居然都不知道有现成的API可以调用,每次都是自己写方法解析字符串。
非常感谢你的解答。
public static String[] a;
这样也无非是说明a是一个指向String数组类型的指针(借用一下C的术语吧)
所以java中一个类对象的生成都是用new关键字而不是像C/C++一样可以不使用new关键字也可以生成类的实例所以你直接调用a[0]是毫无疑义的,因为当时a没有指向任何东西,所以不存在a[0]这个数据,当然会出错,希望你理解这一点,这才是问题的关键。这样理解的话你就明白可以随时付给a一个用new关键字生成的String[] 类型的实例(也就是一段内存空间),JVM会自动删除原来a指向的内存空间(如果这一段内存空间没有变量引用的话)