我完全被这个困扰了...
如果我使用以下内容调用以下函数:
搜索(SearchTextField.getText()); //(输入玻璃纤维)
搜索( "玻璃纤维"); //硬编码
我得到以下结果:
玻璃纤维10不在这里
发现玻璃纤维10串!
相同的String传递的长度相同,结果不同.怎么会这样?是的我在==的两边修剪它没有运气.
我在失去理智,任何帮助都会受到赞赏.
Test[] array = new Test[3];
array[0] = new RowBoat("Wood", "Oars", 10);
array[1] = new PowerBoat("Fiberglass", "Outboard", 35);
array[2] = new SailBoat("Composite", "Sail", 40);
public void Search(String searchString) {
boolean found = false;
System.out.print(searchString + " " + searchString.length() + " ");
for (int i = 0; i < array.length; i++) {
if (searchString == array[i].getBoatMaterial()) {
found = true;
break;
}
}
if (found) {
System.out.println("String found!");
} …Run Code Online (Sandbox Code Playgroud)