无论如何可以告诉我为什么跳过以下if语句?
我想检查我的mAlphabetCode是否包含0-9字面值,而不是0到9.
// check if Alphabet code is numeric if (mAlphabetCode.equals("0-9")){ mAlphabetCode = "-"; }
这是整个代码:
public voID onItemClick(AdapterVIEw<?> parent, VIEw vIEw, int position, long ID) { if (parent.getID() == R.ID.lv_gl_content) { // store data to be pass Intent mIntent = new Intent(this, AchList.class); mIntent.putExtra("mPageUrl", mGameList.get(position).getItemPageUrl()); mIntent.putExtra("mGameTitle", mGameList.get(position).getTitle()); // start activity and page animation startActivity(mIntent); mPageTrans.slIDeIn(); } else if (parent.getID() == R.ID.lv_Alphabet_content) { // get Alphabet code String mAlphabetCode = parent.getAdapter().getItem(position).toString().tolowerCase(); // check if Alphabet code is numeric if (mAlphabetCode.equals("0-9")){ mAlphabetCode = "-"; } // build page url mGameListUrl = mGameListUrl.substring(0, (mGameListUrl.length() - 2) ) + mAlphabetCode + "/"; mAlphabetMenu.setItemChecked(position, true); // close browsing menu mSlIDingPane.closePane(); // make network request mStringRequest = new StringRequest(Request.Method.GET, mGameListUrl, onSuccess(), one rror()); mRequestQueue.add(mStringRequest); }}
以下是调试器在命中if语句之前说的mAlphabetCode包含的内容:
我的错误发生在我的strings.xml文件中:
<!-- strings of arrays --><string-array name="slIDe_menu_Alphabet"> <item>0–9</item>
我已经将项目从0-9更改为0– 9(间隔数字显示),因为AndroIDStudio IDE受到了影响,感谢@ user1873880和DavID Cesarino,我改为0- 9(间距如此数字)显示)现在它很棒.
谢谢您的帮助.
解决方法:
问题是你的代码中的’ – ‘字符实际上是整数45,而在调试器中它是8211,这意味着它是不同的字符.您可以通过某些日志验证这一点,只是尝试查看此值(int)’ – ‘.
总结以上是内存溢出为你收集整理的java – 为什么跳过这个if语句?全部内容,希望文章能够帮你解决java – 为什么跳过这个if语句?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)