[英]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.