我添加到我的ArrayList 「activList」 元素使用:打印內存地址,而不是字符串值
activList.add(new Fiducial("R600"));
我使用打印:
System.out.println(activList);
下面是代碼:
// Grid variables
int cols = 10, rows = 10;
int rectangleWidth = 100;
int rectangleHeight = 60;
// these are some helper variables which are used
// to create scalable graphical feedback
int k, l, iD;
float cursor_size = 15;
float object_size = 60;
float table_size = 760;
float scale_factor = 1;
float x, y;
ArrayList<Fiducial> activList = new ArrayList<Fiducial>();
public class Fiducial {
public String type;
public Fiducial(String type) {
this.type = type;
}
}
void draw() {
// Begin loop for columns
for (k = 0; k < cols; k++) {
// Begin loop for rows
for (l = 0; l < rows; l++) {
fill(255);
stroke(0);
rect(k*rectangleWidth, l*rectangleHeight, rectangleWidth, rectangleHeight);
}
}
// This part detects the fiducial markers
float obj_size = object_size*scale_factor;
float cur_size = cursor_size*scale_factor;
ArrayList<TuioObject> tuioObjectList = tuioClient.getTuioObjectList();
for (int i=0; i<tuioObjectList.size(); i++) {
TuioObject tobj= tuioObjectList.get(i);
stroke(0);
fill(0, 0, 0);
pushMatrix();
translate(tobj.getScreenX(width), tobj.getScreenY(height));
rotate(tobj.getAngle());
rect(-80, -40, 80, 40);
popMatrix();
fill(255);
x = round(10*tobj.getX());
y = round(10*tobj.getY());
iD = tobj.getSymbolID();
activList.add(new Fiducial("R600"));
fiducialVisibles();
}
}
void fiducialVisibles() {
System.out.println(activList);
}
但是,它返回類似[FiducialDetection $ Fiducial @ 47baec4c]這似乎是地址。我如何檢索字符串的實際值?
感謝它運作良好!與int和float相同? –
@MatthiasGrahamSlick,'String yourResult = Integer.toString(this.intVariable)+ Float.toString(this.floatVariable)+ ....;'並將'yourResult'返回給'toString()'方法。 – Andrew
@MatthiasGrahamSlick,理想情況下''toString()'方法必須返回類中所有字段的字符串表示 – Andrew