我使用下面的代码做一些动作。我检查输入参数以遵循方式。使用调试输出它应该是TABLENAME1方式(Log.d),但在应用程序的执行中它是TABLENAME2。我的调试输出是:
04-19 11:56:15.337: D/Button(19894): Ausbuchen
04-19 11:56:15.337: D/isBox(19894): true
04-19 11:56:15.337: D/ART(19894): F
04-19 11:56:15.337: D/TABLENAME2(19894): IWRP_LLBX_19.04.2015
isBox是真的,Art是“F”所以它应该是第一种方式,但它不是。
你可以帮我解释一下原因吗?public void onClick(View view) {
Log.d("Button", "Ausbuchen");
betriebszahlneu = etBetriebszahl.getText().toString();
Log.d("isBox", Boolean.toString(GlobalClass.isBox));
Log.d("ART", StaffActivity.art);
if(GlobalClass.isBox = true){
if(StaffActivity.art == "F"){
GeraeteVersand geraetversand = new GeraeteVersand();
geraetversand.setEan(StaffActivity.ean);
geraetversand.setBezeichnung(StaffActivity.bezeichnung);
geraetversand.setBetriebszahl(betriebszahlneu);
geraetversand.setArt(StaffActivity.art);
geraetversand.setTablename(SelectKostActivity.KOST + "_" + StaffActivity.stammkost + "_" + GlobalClass.date);
Log.d("TABLENAME1",geraetversand.getTablename());
GlobalClass.geraeteversand.add(geraetversand);
} else {
GeraeteVersand geraetversand = new GeraeteVersand();
geraetversand.setEan(StaffActivity.ean);
geraetversand.setBezeichnung(StaffActivity.bezeichnung);
geraetversand.setBetriebszahl(betriebszahlneu);
Log.d("art", StaffActivity.art);
geraetversand.setArt(StaffActivity.art);
geraetversand.setTablename(SelectKostActivity.KOST + "_" + GlobalClass.KOST_NEW + "_" + GlobalClass.date);
Log.d("TABLENAME2",geraetversand.getTablename());
GlobalClass.geraeteversand.add(geraetversand);
}
}
else {
GeraeteVersand geraetversand = new GeraeteVersand();
geraetversand.setEan(StaffActivity.ean);
geraetversand.setBezeichnung(StaffActivity.bezeichnung);
geraetversand.setBetriebszahl(betriebszahlneu);
geraetversand.setArt(StaffActivity.art);
geraetversand.setTablename(SelectKostActivity.KOST + "_" + GlobalClass.KOST_NEW + "_" + GlobalClass.date);
Log.d("TABLENAME3",geraetversand.getTablename());
GlobalClass.geraeteversand.add(geraetversand);
}
答案 0 :(得分:2)
使用.equals
而非==
比较字符串。
所以用if (StaffActivity.art == "F")
替换if (StaffActivity.art.equals("F"))
。