当前位置: 代码迷 >> java >> Java在方法中访问字符串数组
  详细解决方案

Java在方法中访问字符串数组

热度:36   发布时间:2023-07-25 19:02:15.0

我在class A存在method A内的字符串数组(变量)。 现在,我想访问它并使用class Bmethod B另一个字符串数组进行设置。 class B class Aclass A

我是Java的初学者,因此非常感谢您的帮助。 非常感谢。

public class A {
    B myclassb;

    void methodA() {
        String[] myvar;
    }
}

public class B {
    void methodB() {
        // how do I get to A.methodA.myvar?
    }
}

目前尚不清楚您想要实现什么,但是我还是会尽力回答。 选项1:您说过要在嵌套类中的方法b中的方法a中分配一个变量。 这是不可能直接实现的,因为无法从另一个函数访问函数变量,并且在函数完成执行后,变量不再存在。 因此您可以将其作为输入参数进行传输:

public class A {
    public void a(String[] input){
        String[] theArray = input;
    }

    private class B{
        private void b(){
            String[] input = new String[] {"an", "awesome", "Test"};
            a(input);
        }
    }
}

选项2:使用成员变量:

public class A {
    private String[] theArray;
    public void a(){
        this.theArray = new String[] {"a", "nice", "Test"};
        B bObject = new B();
        //modify value within b():
        bObject.b();

        //or assign it using a return value:
        this.theArray = bObject.b2();
    }

    private class B{
        private void b(){
            theArray = new String[] {"an", "awesome", "Test"};
        }

        private String[] b2(){
            return new String[] {"an", "awesome", "Test"};
        }
    }
}

您是否正在寻找一些东西来显示Java如何通过引用传递,如下所示:

public class Test {


    public Test() {

    }

    public void methodA() {
        String [] arr = new String[3];
        arr[0] = "One";
        arr[1] = "Two";
        arr[2] = "Three";
        printArray(arr);

        methodB(arr);

        printArray(arr);
    }

    public void methodB(String [] arr) {
        arr[0] = "A";
        arr[1] = "B";
        arr[2] = "C";
    }

    public void printArray(String [] arr) {
        for (int i = 0; i < 3; i++) {
            System.out.println(arr[i]);
        }
    }

    public static void main(String [] args) {
        Test test = new Test();
        test.methodA();
    }
}

这将输出:一二三ABC