2017-04-18 138 views
0

我正在做一个大学任务,我必须建立4个类,其中一个是接口。建立不区分大小写的电影数据库

我需要确保字符串不区分大小写,例如“教父”,“教父”,“教父”被视为同一部电影。我怎样才能做到这一点?

+2

覆盖您的Movie的equals类,并确保名称String检查不区分大小写。与hashCode方法相同(也许在散列它之前将其转换为全部大写)。 –

+0

字符串本身不区分大小写。这是**比较**,区分大小写。这是一个重要的区别,因为它教会你需要考虑何时进行比较。如果是关于将Movie类存储在HashMap中,请阅读上面的注释。如果是关于排序,则需要研究不区分大小写的排序等。一旦您可以准确地告诉我们代码中的哪个位置正在进行比较,人们可以用更具体的答案来帮助您。 –

回答

0

除了Aaron说的之外,我想指出它的确依赖于你的实现。顺便说一句,我看到它,你的任务是创建一个“搜索”功能,搜索数据库。正确地存储电影名称会将它们保存为其实际格式(“教父”),但是当启动搜索时,您希望使用String .equalsIgnoreCase()函数将搜索查询与数据库相匹配。例如:

String a = "The Godfather" 
String b = "the godfather" 
String c = "The Godfather" 
String d = "thE GoDfaTher" 
System.out.println(a.equalsIgnoreCase(b)); // Outputs true 
System.out.println(a.equalsIgnoreCase(c)); // Outputs true 
System.out.println(a.equalsIgnoreCase(d)); // Outputs true 
System.out.println(a.equals(b)); // Outputs false 
0

要使字符串不区分大小写,您应该使用toLowerCase()方法并使所有以小写形式操作的字符串。你可以这样做:

stringA.toLowerCase(); 

希望这会有所帮助,如果这不是你想要的,请随时让我知道! :D