Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中字符串的奇怪问题_Java_Arrays_String - Fatal编程技术网

Java中字符串的奇怪问题

Java中字符串的奇怪问题,java,arrays,string,Java,Arrays,String,我是JAVA新手,发现它的一些概念非常令人恼火,无论我怎么努力,我都找不到合适的解释来解释这种行为……当然,这些问题有很多解决方法,但我还是想知道我是缺少了一些非常简单的东西还是JAVA就是这样 我的一个类a中有一个字符串数组,我希望它通过另一个类B的方法填充…所以我在a中创建了一个类B的对象,调用方法B.xyz并将其与字符串数组相等,但我不能这样做…java抛出了一个空指针异常………我不知道为什么 公共B类{ 公共void xyz(){ 字符串[]mystrings=新字符串[70]; 对于

我是JAVA新手,发现它的一些概念非常令人恼火,无论我怎么努力,我都找不到合适的解释来解释这种行为……当然,这些问题有很多解决方法,但我还是想知道我是缺少了一些非常简单的东西还是JAVA就是这样

  • 我的一个类a中有一个字符串数组,我希望它通过另一个类B的方法填充…所以我在a中创建了一个类B的对象,调用方法B.xyz并将其与字符串数组相等,但我不能这样做…java抛出了一个空指针异常………我不知道为什么
  • 公共B类{
    公共void xyz(){
    字符串[]mystrings=新字符串[70];
    
    对于(int i=0;i如果您只需要长度为5的数组,则仅将其初始化为该大小,例如:

    public String[] xyz(String value) {
        String[] mystrings = new String[5];
        for (int i = 0; i < mystrings.length; i++) {
            mystrings[i] = value;
        }
        return mystrings;
    }
    
    然后,您可以获取其大小,添加到其中并打印如下元素:

    List<String> list = abc("foo");
    System.out.println(list.size());
    list.add("bar");
    for (String value : list) {
        System.out.println(value);
    }
    
    List List=abc(“foo”);
    System.out.println(list.size());
    列表。添加(“酒吧”);
    for(字符串值:列表){
    系统输出打印项次(值);
    }
    

    希望有帮助。

    如果您只需要长度为5的数组,则只需将其初始化为该大小,例如:

    public String[] xyz(String value) {
        String[] mystrings = new String[5];
        for (int i = 0; i < mystrings.length; i++) {
            mystrings[i] = value;
        }
        return mystrings;
    }
    
    然后,您可以获取其大小,添加到其中并打印如下元素:

    List<String> list = abc("foo");
    System.out.println(list.size());
    list.add("bar");
    for (String value : list) {
        System.out.println(value);
    }
    
    List List=abc(“foo”);
    System.out.println(list.size());
    列表。添加(“酒吧”);
    for(字符串值:列表){
    系统输出打印项次(值);
    }
    

    希望能有所帮助。

    您在类
    B
    中将xyz声明为返回类型为
    void
    的方法。您可能需要返回字符串数组的签名,
    public string[]xyz()

    此外,您没有在B中正确声明数组,正确的声明是:

    String[]myStrings=新字符串[70];


    --Dan

    您在类
    B
    中将xyz声明为返回类型为
    void
    的方法。您可能需要返回字符串数组的签名,
    public string[]xyz()

    此外,您没有在B中正确声明数组,正确的声明是:

    String[]myStrings=新字符串[70];


    --Dan

    我建议您考虑使用类似列表的ArrayList,因为这样可以包装数组,使其更易于使用

    String[] mystrings[70];
    
    这将创建一个或多个数组。有两个
    []

    我建议你试试

    String[] mystrings = new String[5];
    

    我建议您考虑使用类似于ArrayList的列表,因为这样可以包装数组,使它们更易于使用

    String[] mystrings[70];
    
    这将创建一个或多个数组。有两个
    []

    我建议你试试

    String[] mystrings = new String[5];
    

    您可能不想“将类B创建成一个对象”,而是希望引用一个活动的对象。为了更好地帮助,请考虑将格式化的代码张贴以便我们可以读取它。您的代码不编译。我不知道您是如何执行它的。“String [] Mystring(70);未正确编辑以删除“按引用传递”标记,您没有在任何地方传递任何内容。@fmucar:是的,这是对代码的一次键入编辑您可能不想“将B类对象创建到a中”而是希望对活动的对象进行引用。为了更好地帮助,请考虑将格式化的代码张贴以便我们可以读取它。您的代码不编译。我不知道您是如何执行它的。“String [] Mystring(70);未编辑以删除“按引用传递”标记,您没有在任何地方传递任何内容。@fmucar:是的,这是编辑代码时的一个输入错误