我有一个if状态,检查以确保邮政编码与我们服务的区域匹配但是我在邮政编码中我正在测试If不运行。请告诉我我做错了什么
String address = addresses.get(0).getAddressLine(0); // If any additional address line present than only, check with max available address lines by getMaxAddressLineIndex()
String city = addresses.get(0).getLocality();
String state = addresses.get(0).getAdminArea();
String country = addresses.get(0).getCountryName();
String postalCode = addresses.get(0).getPostalCode();
String knownName = addresses.get(0).getFeatureName();
// final TextView mTextView = (TextView) findViewById(R.id.location);
//mTextView.setText("Latitude "+latitude+" Longitude "+longitude);
final TextView mAdressTextView = (TextView) findViewById(R.id.addressNum);
mAdressTextView.setText(address);
final TextView mStateTextView = (TextView) findViewById(R.id.stateNum);
mStateTextView.setText(city+ ", "+ state+", " + postalCode);
if (postalCode == "33331"){
Intent logoutDone = new Intent(MainActivity.this, Register.class);
startActivity(logoutDone);
Log.d("ADebugTag", "Value: " + postalCode);
}
答案 0 :(得分:1)
我不确定你的意思是什么不运行,但这个答案可能会有所帮助。
在Java中,==比较对象的引用。您的目标是查看postalCode字符串对象是否包含" 33331"。所以你想这样做:
if(postalCode.equals("33331"))
{
// do stuff
}
如果你想看看两个对象是否是同一个实例,你可以使用==代替。当你想比较两个字符串的值时,你需要像我上面那样使用equals()方法。