有什么区别
String str = new String("abc");
Run Code Online (Sandbox Code Playgroud)
和
String str = "abc";
Run Code Online (Sandbox Code Playgroud) 我了解相等运算符会比较对字符串的引用。因此,它将检查字符串是否指向同一对象,而不是每个字符是否相等。
作为学习搜索算法的第一步,我设置了以下程序,该程序中有一个名称数组,然后检查该数组中是否存在某个名称。
第一种方法:
我声明并初始化名称数组。我要求用户输入一个名称,以检查它是否出现在数组中。
这是我使用的代码-
import java.util.Scanner;
public class Strawman{
public static void main(String[] args){
System.out.println("Enter the name to search for:");
Scanner scanner = new Scanner(System.in);
String key = scanner.nextLine();
String[] names = {"alice", "bob", "carlos", "carol", "craig", "dave", "erin", "eve", "frank", "mallory", "oscar", "peggy", "trent", "walter", "wendy"};
for (int i = 0; i < names.length; i++){
if (key == names[i]) {
System.out.println("Index " + i + " has the name " + key);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
以下屏幕快照显示了该程序的运行之一- …