Java 为什么我需要初始化一个变量才能使用";toUpperCase“;方法
这仅在初始化变量Java 为什么我需要初始化一个变量才能使用";toUpperCase“;方法,java,Java,这仅在初始化变量String convert时有效
String convert时有效使用方法toUpperCase()代码>
当我刚设置代码时:
convert.toUpperCase();
return convert;
它不起作用。为什么?为什么我必须先初始化转换?您应该在写
convert = t.toUpperCase();
由于convert
变量可能未初始化。毕竟,您应该使用t
参数初始化它。如果没有它,您将得到一个NullPointerException
,编译器可以推断出这一点,只是拒绝编译代码
但是整个convert
变量是可疑的。您也可以编写方法作为返回t.toUpperCase()
,但这会使整个类无用,除非您的目的是跟踪最后一个转换的字符串。声明字符串时,其默认值为null。这与所有引用类型的行为相同
不能在空值中使用toUpperString()之类的函数
convert = t; //Here, convert is not null anymore
convert = convert.toUpperCase();
但是,您的函数非常简单,如果不使用convert执行任何操作,除了调用toUpperString(),最好将返回改为
return t.toUpperString
您必须初始化“convert”,因为在您的方法中没有名为convert的局部变量。您的方法是无用的,因为witt 1行可以转换您想要的每个字符串
但是,您的代码:
public class YourClass {
public static void main(String[] args){
String convert = "Which string you prefere";
convert.toUpperCase(); // You just finished
}
}
您的代码错误,因为方法大写已存在!程序只会占用更多内存,这是没有用的!下面这个方法是错误的
public class Conversion {
String convert = "Your String here";
convert = convertString(convert);
public String convertString(String t){
// In any case if you want a variable convert in here(local), you have to declare it again.. But inside this method.
t.toUpperCase(); // Your "t" is the string you passed over (convert)
return t;
}
因为不能对空对象调用方法。你认为这会有什么结果null.toUpperCase()
为什么不这样做?空对象上的.toUpperCase()应该做什么呢?字符串#toUpperCase返回结果字符串,它不会将当前字符串修改为大写。因此,您必须使用as赋值来捕获它:convert=代码>。但是您可以在t
上调用它,而不是通过第二次赋值来分配和调用它。但例如,如果用户输入是“hello”。因为convert=t;如何转换为空?现在应该是“你好”了,不是吗?谢谢你,先生,现在我知道了。我希望该方法能做些什么,但我知道它只会复制并修改它!这个答案是如何添加了未在发布的答案中添加的内容的?我创建了完整的程序如果他有一些问题,问题是什么?如果答案与其他人相似,他可以说服。
public class Conversion {
String convert = "Your String here";
convert = convertString(convert);
public String convertString(String t){
// In any case if you want a variable convert in here(local), you have to declare it again.. But inside this method.
t.toUpperCase(); // Your "t" is the string you passed over (convert)
return t;
}