0

因此,我在处理中使用了 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");

      }

    } 
4

1 回答 1

0

在 Java(Processing 基于)中,您必须使用str1.equals(str2);,而不是str1 == str2. 请参阅此处以获取解释:Java String.equals 与 ==

于 2014-01-15T05:30:01.110 回答