Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.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_Android_Arraylist - Fatal编程技术网

Java ArrayList<&燃气轮机;获取列表

Java ArrayList<&燃气轮机;获取列表,java,android,arraylist,Java,Android,Arraylist,您好,在下面的代码中,我有一个带有currentLong和currentLat,vars的LocationManager。单击按钮,我将varLat1和VarLong1添加到arraylist坐标。如何使用Log.d获取数组的值marccordinates.size()为我提供了正确的大小,但marccordinates.get为我提供了gpsplotter.main活动$Coordinates@42204f70帮助,谢谢 public class MainActivity extends Ap

您好,在下面的代码中,我有一个带有
currentLong
currentLat
vars的
LocationManager
。单击按钮,我将
varLat1
VarLong1
添加到arraylist坐标。如何使用
Log.d
获取数组的值
marccordinates.size()
为我提供了正确的大小,但
marccordinates.get
为我提供了
gpsplotter.main活动$Coordinates@42204f70
帮助,谢谢

public class MainActivity extends AppCompatActivity implements  LocationListener {

public class Coordinates {
public final double latitudeX;
public final double longitudeY;
public Coordinates(double lat, double lon) {
    latitudeX = lat;
    longitudeY = lon;}}


您需要重写类
坐标
中的
toString()
方法

这将解决问题

例子:
Coordinates
没有
toString
方法,因此使用了
Object
的默认方法,即名称+内存地址

如果需要更好的表示,请重写
toString
方法:

public class Coordinates {
    ...
    @Override
    public String toString() {
        // return some string here.
    }
}

您必须重写类中的
toString()
方法。否则将调用的
toString()
of,它不知道要公开哪些属性,并将返回
ClassName@HashCode

public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    } 
要解决此问题,只需在类中重写
toString

public class Coordinates {
//...
@Override
    public String toString() {
         return "Coordinates [latitude=" + latitude + ", longitud=" + longitud   + "]";
    }
}

将问题标记为重复问题比创建重复答案要好。排序:)遇到了另一个我没有预见到的问题。如果我想将运算符应用为:double sum=marccordinates.get(0)+marccordinates.get(1);
@Override
public String toString() {
    return "Coordinates [latitude=" + latitude + ", longitud=" + longitud + "]";
}
public class Coordinates {
    ...
    @Override
    public String toString() {
        // return some string here.
    }
}
public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    } 
public class Coordinates {
//...
@Override
    public String toString() {
         return "Coordinates [latitude=" + latitude + ", longitud=" + longitud   + "]";
    }
}