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