Обработка controlP5 сравнение строк текстового поля
Поэтому я использую библиотеку 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");
}
}
1 ответ
В Java (на которой основана обработка), вы должны использовать str1.equals(str2);
не str1 == str2
, Смотрите здесь для объяснения: Java String.equals против ==