public class UpLower {
public static void main(String[] args) {
String str = "HOW ARE YOU";
String upper_str = str.toLowerCase();
System.out.println("Original String: " + str);
System.out.println("String in uppercase: " + upper_str);
}
}
此程序将字符串从大写字符转换为小写字符。我无法理解这个程序。
我的问题是
方法toLowerCase()在lang包中的String类中。在java中,我们需要为该类创建一个对象来访问非静态
方法那个类的。如果是这样的话,在不为类 String 创建对象的情况下,我们如何直接访问方法 toLowerCase()。
最佳答案
您对静态方法和实例方法的理解是正确的。
toLowerCase() 实际上是 String 类型对象的实例方法。
但是在java中String有特殊的处理方式。当您编写 String str = "How Are You"
时,str 将引用 String 对象。所以实际上你只是在返回的对象上调用实例方法 toLowerCase() 。
对于初学者,您可以认为 String str = "How Are You";
类似于 String str = new String("How Are You");
。
但实际上这两个语句String s = "something"和 String s = new String("something");
如果您想知道原因,请尝试阅读 Java 中的字符串池和字符串不可变性。
关于java - 访问没有对象的字符串类的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48335845/