以前Java基礎的時候,寫JavaBean類都是有快捷鍵自動生成的,我們隻需要定義好成員變量字段,剩下的構造方法、getXxx()方法,setXxx()方法,都可以自動生成。格式如下:
public class TrackOrderBean {
private boolean success;
private String driverId;
private String licensePlat;
private String dispatchOrderId;
private int interval;
private List> errors;
public boolean isSuccess() {
return success;
}
public void setSuccess(boolean success) {
this.success = success;
}
public String getDriverId() {
return driverId;
}
public void setDriverId(String driverId) {
this.driverId = driverId;
}
public String getLicensePlat() {
return licensePlat;
}
public void setLicensePlat(String licensePlat) {
this.licensePlat = licensePlat;
}
public String getDispatchOrderId() {
return dispatchOrderId;
}
public void setDispatchOrderId(String dispatchOrderId) {
this.dispatchOrderId = dispatchOrderId;
}
public int getInterval() {
return interval;
}
public void setInterval(int interval) {
this.interval = interval;
}
public List> getErrors() {
return errors;
}
public void setErrors(List> errors) {
this.errors = errors;
}
}
但是在Android裡面,我們可能會看到一些老程式員會這樣寫JavaBean類:
public class TrackOrderBean {
public boolean success;
public String driverId;
public String licensePlat;
public String dispatchOrderId;
public int interval;
public List> errors;
}
因為成員變量聲明是public,我們可以直接引用它,不需要getXxx()和setXxx()方法。這樣做是為了避免方法數量超過限制的問題。因為Android中的方法數量不能超過65535,如果超過了,你可能會遇到一些意想不到的Bug。比如,我就遇到了Build APK失敗的問題。
先選擇Build APK
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIu9Wa0FGZuVWbt92YlJXPlNmc192cf1Gd1ZyclR3bu91blNXPtVXakVWbf1Gd1ZSZ09mb9QnblRnbvN2XtRXdmUmbpt2clxWYt1jbnlWYw1WYj9Vb0V3PygjN3QDO5kTZkVWNvwFcvwVbvNmL1h2cuFWaq5yd3d3Lc9CX6MHc0RHaiojIsJye.jpg)
圖檔.png
然後Android Studio就會報錯
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIu9Wa0FGZuVWbt92YlJXPlNmc192cf1Gd1ZyclR3bu91blNXPtVXakVWbf1Gd1ZSZ09mb9QnblRnbvN2XtRXdmUmbpt2clxWYt1jbnlWYw1WYj9Vb0V3PygjN3QDO5kTZkVWNvwFcvwVbvNmL1h2cuFWaq5yd3d3Lc9CX6MHc0RHaiojIsJye.jpg)
圖檔.png
最開始,我以為是代碼裡有錯誤是以導緻這個問題,但是檢查了代碼沒有發現Bug。之後我又懷疑可能是清單檔案或者build.gradle檔案裡面的配置有誤,通通排查了一遍也沒有發現問題。
後來終于找到了,因為是項目中所有的方法數量超過65535導緻的。解決的方法就是,在build.gradle檔案中,添加如下代碼:
dexOptions{
jumboMode true
}
解決方法很簡單,但是發現這個問題很難,我也是卡了很久才發現的。這樣的話,我們用Android studio寫JavaBean類也可以用快捷鍵Alt + Insert來自動生成。不用再擔心方法數量超出限制的問題了。
希望能幫到你。