所以我在处理中使用controlP5库,我正在尝试为文本字段中输入的文本执行if语句,但无论出于何种原因,它都不会说它是相同的。我已经检查过它是否是一个字符串,并且它是其他方式的正确字符串(instanceof和打印文本字段值),但它仍然不会确认它是相同的,我不知道为什么。
import controlP5.*;
ControlP5 cp5;
void setup(){
size(500,500);
cp5 = new ControlP5(this);
PFont font = createFont("arial",20);
cp5.addTextfield("Input")
.setPosition(20,100)
.setFont(font)
.setFocus(true)
;
cp5.addBang("Enter")
.setPosition(20,150)
.setSize(80,40)
.getCaptionLabel().align(ControlP5.CENTER,ControlP5.CENTER)
;
}
void draw(){
background(0);
rectMode(CENTER);
rect(width/2,height/2,50,50);
}
public void Enter(){
String tempAns = cp5.get(Textfield.class,"Input").getText();
String stringcheck = "head";
if(tempAns instanceof String){
println("it is a string");
}
println(tempAns);
println(stringcheck +" check");
if(tempAns == "yes"||tempAns == stringcheck){
println("it works");
}
}
答案 0 :(得分:0)
在Java(处理基于)中,您必须使用str1.equals(str2);
,而不是str1 == str2
。请参阅此处获取解释:Java String.equals versus ==