Обработка 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 против ==

Другие вопросы по тегам