Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的ArrayList不兼容类型_Java - Fatal编程技术网

Java中的ArrayList不兼容类型

Java中的ArrayList不兼容类型,java,Java,旅行类 public class GPSping { private double pingLat; private double pingLon; private int pingTime; } 公务舱旅行{ 私有数组列表; 公共旅行(){ pingList=新的ArrayList(); } 公共出行(ArrayList triplist){ pingList=新的ArrayList(); } 公共ArrayList getPingList(){ 返回此.pingLi

旅行类

public class GPSping {
    private double pingLat;
    private double pingLon;
    private int pingTime;
}
公务舱旅行{
私有数组列表;
公共旅行(){
pingList=新的ArrayList();
}
公共出行(ArrayList triplist){
pingList=新的ArrayList();
}
公共ArrayList getPingList(){
返回此.pingList;
}
公共布尔添加(GPSping p){
int length=pingList.size();
int Time=pingList.get(长度);
if(p.getTime()>this.pingList[length]){
添加(p);
返回True;
}否则{
返回False;
}
}
}

我正在尝试将GPS ping添加到此行程列表,但前提是p的时间晚于此行程列表中的最后一次。我对Java非常陌生,正在绞尽脑汁研究语法,希望能得到一些帮助。

列表中的第一个元素有索引
0
,以获取最后一个:

public class Trip {
    private ArrayList<GPSping> pingList;

    public Trip() {
        pingList = new ArrayList<>();
    }

    public Trip(ArrayList<GPSping> triplist) {
        pingList = new ArrayList<>();
    }

    public ArrayList<GPSping> getPingList() {
        return this.pingList;
    }

    public boolean addPing(GPSping p) {
        int length = pingList.size();
        int Time = pingList.get(length);
        if (p.getTime() > this.pingList[length]) {
            pinglist.add(p);
            return True;
        } else {
            return False;
        }
    }
}
但我认为,在添加新的
GPSping
之前,最好存储
maxPingTime
以检查它:

int Time = pingList.get(length - 1);
班级旅行{
private final List pingList=new ArrayList();
private int maxPingTime=Integer.MIN_值;
公共列表getPingList(){
返回pingList.isEmpty()?Collections.emptyList():Collections.unmodifiableList(pingList);
}
公共布尔添加(GPSping p){

如果java中的(p.getPingTime()布尔常量的大小写为小写。
true
false
。此外,参数化构造函数也没有意义。您不会将参数分配给类字段(可能您会想这样做)。列表不会用[]-括号编制索引。请使用类似“pinglList.get(index)”的括号(在if语句条件中)pingList.get(length)返回类型为GPSping而不是int的对象。使用此.pingList[length]尝试使用类似数组的列表,这将不起作用。如果需要第n个元素,请使用此.pingList.get(n-1)。
class Trip {

    private final List<GPSping> pingList = new ArrayList<>();
    private int maxPingTime = Integer.MIN_VALUE;

    public List<GPSping> getPingList() {
        return pingList.isEmpty() ? Collections.emptyList() : Collections.unmodifiableList(pingList);
    }

    public boolean addPing(GPSping p) {
        if (p.getPingTime() <= maxPingTime)
            return false;

        pingList.add(p);
        maxPingTime = p.getPingTime();
        return true;
    }
}

final class GPSping {

    private final double pingLat;
    private final double pingLon;
    private final int pingTime;

    public GPSping(double pingLat, double pingLon, int pingTime) {
        this.pingLat = pingLat;
        this.pingLon = pingLon;
        this.pingTime = pingTime;
    }
}