我有一段代码,我想用一个Spinner视图组件来更改我的应用程序中的语言。在处理这个问题时,我意识到我可能没有使用最流畅的方法,但更有趣的是,我注意到两个看起来相同的字符串在比较时并不相等。为什么会这样,如果我想要“检查”语言是否是某种语言,该怎么办?
if (myLocale.toLanguageTag()=="sv")
{
//Changing language from Swedish to English
}
else
{
Toast.makeText(parent.getContext(),
myLocale.toString(), Toast.LENGTH_SHORT).show();
//Here, the toast will tell me what myLocale.toString is "sv",
//and so is myLocale.toLanguageTag(). Yet they are not equal...
}
myLocale.toLanguageTag()
也返回sv
吗?如果两者都返回sv
,它们必须相等。在if
条件中尝试使用myLocale.toLanguageTag().equals("sv")
。 - Niraj Niroulaif (myLocale.toLanguageTag().equals("sv"))
返回true
,但是myLocale.toString()
和myLocale.toLanguageTag()
在 toast 中都显示为 "sv",然而它们并不相等。 - ZeratomyLocale.toLanguageTag().equals(myLocale.toString())
。 - Niraj Niroula