有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何在整个java类中使用变量

我对java非常陌生,我有两个问题

首先,如何使变量在整个java类中可用? 这是我方法的一部分:

public void createID() {

 ObjectId Id = (ObjectId) documentClient.get("_id");
 StringID = clientId.toString();
}

我想在另一个方法中使用StringID,但它要么为null(当我在主类中创建publicstringid=null时),要么是未知的

我的另一个问题是,当我将createID()更改为

public String createID() {

 ObjectId Id = (ObjectId) documentCleint.get("_id");
 StringID = clientId.toString();
 return Id; 

}

它说这个方法应该是无效的!我正在寻找从我的方法返回变量的方法

有什么想法吗? 谢谢


共 (3) 个答案

  1. # 1 楼答案

    要在多个方法中使用变量,您需要使用全局变量,要声明它,只需在类内的任何方法之外声明它

    至于问题的第二部分,在我看来,您没有返回字符串,因为id没有声明为字符串

  2. # 2 楼答案

    问题1:

    First how can I make a variable usable entire a java class?

    createID仅限于createID()方法的范围。为了在全班发挥这一作用,把他们排在第一位。(实例成员)

    问题2:

    It says that the method should be void!

    public **String** createID() {
    
     ObjectId **Id** = (ObjectId) documentCleint.get("_id");
     StringID = clientId.toString();
     return **Id**; 
    
    }
    

    这不是确切的错误。返回类型是mistamatch。该方法应该返回一个String,但您返回的是Id,类型为ObjectId。您可能想要返回StringID

  3. # 3 楼答案

    首先,为了定义类变量,应该在类定义下定义它。比如

    public class Example{
    
    private int classVariable; // Variable to be reached from any method in class.
    
        private void someMethod(){
        }
    }
    

    clientID方法中,您将返回类型指定为String,但返回的是objectId。我猜你是想返回StringID变量。 而且我猜,documentCleint.get("_id"); 应该是documentClient.get("_id");

    您应该在纠正这些语法问题后再试一次