簡體   English   中英

將值傳遞給java中的另一個類

[英]Passing value to another class in java

我在將用戶的輸入值傳遞給另一個類時遇到問題。 這是一個網絡服務,這就是為什么我不知道如何修復它,這是我第一次遇到 wevservice。 這是我獲取用戶輸入的代碼。

PlateNumberCheck.java

    //PATH FOR CHECKING PLATE NUMBER

@Path("platecheck")  //for the url

public class PlateNumberCheck {
    public String anss;
@GET 
//To get the full url : http://Ipaddress:portnumber/@path/@getPath 
@Path("/check")
@Produces(MediaType.APPLICATION_JSON) 
//Produces is for the response of JSON.

public String check(@QueryParam("taxi_plate_no") String taxi_plate_no){
    String sagot = "";
    anss = taxi_plate_no;
    if(checkInput(taxi_plate_no)){
        display();
        sagot = JsonConstruction.JSONResponse("checked", true);
    } else{ 
        sagot = JsonConstruction.JSONResponse("checked", false, "Not in the database");
    }
    return sagot;
}

private boolean checkInput (String taxi_plate_no){
    System.out.println("Check Input");
    boolean output = false;
    if(JsonConstruction.isNotNull(taxi_plate_no)){
        try{
            output = DatabaseConnection.checkPlate(taxi_plate_no);
        } catch (Exception e){
            output = false;
        }
    } else{
        output = false;
    }

    return output;
}
public void display(){
    System.out.println(anss);

}
}

我認為這門課有效。 因為如您所見,我在成功之前首先使用該方法,並且該方法包含 system.out.print,它在控制台中打印輸入。 這是我的第二堂課,我想將輸入傳遞給這堂課。

DisplayTaxiDetails.java

@Path("/displays")
public class DisplayTaxiDetails {
    String plates;
    @GET
    @Path("taxidetails")
    @Produces(MediaType.APPLICATION_JSON)

    public String taxidetails (){
        String taxidetails = null;
        ArrayList<Objects> taxiDetailsList = new ArrayList<Objects>();

        try{
            PlateNumberCheck plate = new PlateNumberCheck();
            plates = plate.anss;
            taxiDetailsList = new ArrayConnection().getTaxiDetails(plates);
            System.out.println(plates);
            Gson gson = new Gson();
            taxidetails = gson.toJson(taxiDetailsList);
        } catch (Exception e){
            e.printStackTrace();
        } 
        return taxidetails;

        }

    }

正如你所看到的,我調用了第一個類並訪問了 anss,它是存儲輸入的那個類的字符串。 但是當我訪問它並嘗試傳遞值時它不起作用。 我再次使用 system.out.print 來查看它是否打印數據,但它總是顯示 null,我認為第一類的值沒有傳遞給第二類的變量。

您需要了解java運行時環境的基礎知識。 這將解釋您的對象如何相互綁定並可以相互交互。 在您的情況下,每次調用第二類中的方法時,您都會創建一個新的 PlateNumberCheck 實例。

PlateNumberCheck plate = new PlateNumberCheck();

對於那個實例,您沒有在anss字段中設置任何值(順便說一下,這也不是正確的方法,但這是稍后的),因為這個實例剛剛創建。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM