我想知道如何让arraylist成为在其他地方的类中定义的变量的名称?像:
String list1 = "cheese";
ArrayList<String> list1 = new ArrayList<String>();
我试过了,但它没有用。
编辑:我希望列出字符串列表1的阵列列表。
答案 0 :(得分:1)
您无法执行此操作,因为变量list1
已经有String
类型,您无法指定ArrayList
类型的此变量值。
如果您需要带ArrayList
变量的新list1
,则需要创建新变量,例如
ArrayList<String> list2 = new ArrayList<String>();
并将list1
添加到list2
,例如list2.add(list1)
答案 1 :(得分:0)
我想你想设置一个变量名。我不知道任何可能出现这种情况的情况,因为你需要一个唯一的名称(在特殊情况下,比如在一个方法中创建变量,你可以有多个具有相同名称的变量),以便变量可以使用它。
所以唯一的方法是以某种方式使用@Alexander Podkutins建议:
ArrayList<String> list1 = new ArrayList<String>();
答案 2 :(得分:0)
您无法对字段执行此操作,因为您无法将它们声明两次。但是,您可以在具有相同名称的方法中创建本地vairable。
这将无法工作,因为您创建了一个名为list1
的变量,并且您无法创建具有相同名称的第二个变量。不管是什么类型!
public class SomeClass {
String list1;
ArrayList<String> list1 = new ArrayList<String>();
}
但是,您可以在方法内创建具有相同名称的局部变量。此变量将覆盖原件(原件不会被“删除”左右,您仍然可以使用this.list1
访问它)。 请注意,这被认为是一个糟糕的实践,因为它使您的代码非常难以阅读。
public class SomeClass {
String list1;
public void myMethod(){
ArrayList<String> list1 = new ArrayList<String>();
// to get the original string do:
this.list1;
}
}
答案 3 :(得分:0)
Java是静态类型的,这意味着有一组特定的数据类型,一旦变量初始化,数据类型永远不会被更改。另一方面,很难理解你想要完成什么?