Java 如何在方法之间共享变量?
我见过几个线程用于在类之间共享变量,但我找不到一个用于方法的线程。可能吗 例如,在方法A中,我读取一个csv文件并将内容放入列表中Java 如何在方法之间共享变量?,java,list,methods,sharing,Java,List,Methods,Sharing,我见过几个线程用于在类之间共享变量,但我找不到一个用于方法的线程。可能吗 例如,在方法A中,我读取一个csv文件并将内容放入列表中 在方法B中,我想对在方法A中创建的列表进行排序。如何使用在方法A中创建的列表?在方法中声明的变量是实例变量,它们的作用域仅在方法本身内。不能从另一个方法访问在一个方法中声明的变量 但是,如果在方法外部和类本身内部声明列表,则可以将列表传递到这两个方法中,或者将它们作为类的实例变量进行访问。它们都将是相同的列表,因为它们只是对同一对象的不同引用。您可以将列表声明为类的
在方法B中,我想对在方法A中创建的列表进行排序。如何使用在方法A中创建的列表?在方法中声明的变量是实例变量,它们的作用域仅在方法本身内。不能从另一个方法访问在一个方法中声明的变量
但是,如果在方法外部和类本身内部声明列表,则可以将列表传递到这两个方法中,或者将它们作为类的实例变量进行访问。它们都将是相同的列表,因为它们只是对同一对象的不同引用。您可以将列表声明为类的变量(在方法之外),以便它可以在整个类中使用,也可以在a方法中声明它并将其传递给其他方法,如下所示:
public static void main(String[] args)
{
A();
}
public static void A()
{
ArrayList<String> stral = new ArrayList<String>();
//fill ArrayList
B(stral);
}
public static void B(ArrayList<String> al)
{
//do whatever you want with al
}
publicstaticvoidmain(字符串[]args)
{
A();
}
公共静态无效A()
{
ArrayList stral=新的ArrayList();
//填充阵列列表
B(stral);
}
公共静态无效B(ArrayList al)
{
//你想对艾尔做什么就做什么
}
希望这有帮助 是的,它将与非静态方法一起工作,您只需访问它们,因为它是静态的,所以与主方法略有不同。如果A和B都是非静态的,则它们之间的关系不会改变。