Java 无法从方法返回字符串

Java 无法从方法返回字符串,java,string,oop,get,return,Java,String,Oop,Get,Return,构造函数接收字符串并将其存储在局部变量修饰符中。然后我想通过getmodifier()方法返回modifier。但是,该方法无法返回从构造函数传入的字符串。请帮我找出这个问题。谢谢 下面是您的代码的简化版本,它可以工作: public class UMLAccessModifier { private String modifier; public UMLAccessModifier(String input) { if(input.toLower

构造函数接收字符串并将其存储在局部变量
修饰符中。然后我想通过
getmodifier()
方法返回
modifier
。但是,该方法无法返回从构造函数传入的
字符串。请帮我找出这个问题。谢谢


下面是您的代码的简化版本,它可以工作:

public class UMLAccessModifier
{
    private String modifier;

    public UMLAccessModifier(String input)
    {   
        if(input.toLowerCase().contains("public"))
        {
            modifier = "public";
        }

        else if(input.toLowerCase().contains("protected"))
        {
            modifier = "protected";
        }

        else 
        {
            modifer = "private";
        }
    }

    public String getModifier() 
    {
        return modifier;
    }
}
不确定您在做什么,但是
getModifier()
肯定会返回
modifier
。很可能你没有传递你认为你是的东西,或者你在某种程度上转换了返回值,但我向你保证,一个
字符串将被返回

我能想到的唯一一件事是,您希望通过调用构造函数返回字符串,但这并没有发生。您需要从构造函数中获取的对象调用
getModifier()
,即:

UMLAccessModifier test =  new UMLAccessModifier("garbage");
System.out.println(test.getModifier());
//prints: private

对你所犯的错误要更加精确。输入/输出的一个小例子会很有用。错误是什么?您的输入是什么?
input
使用了什么?您得到了什么?您期望得到什么?问题似乎不是源于您的代码。检查在构造对象时是否有效地传递了字符串。我希望得到public字符串。Input是来自GUI的用户输入,但它没有返回任何内容。控制台面板显示导致空指针异常的错误。
UMLAccessModifier test =  new UMLAccessModifier("garbage");
System.out.println(test.getModifier());
//prints: private