在android中 TextUtils.isEmpty()和equals()方法的用法

本文详细解释了如何在Android应用中使用官方推荐的方法TextUtils.isEmpty()来检查EditText组件返回的变量是否为空。通过对比使用equals方法可能引发的错误,以及官方方法的便利性和严谨性,阐述了采用官方推荐方法的重要性。文章还强调了避免不必要的代码冗余,提高代码可读性和维护性的实践建议。

仔细读官方的API: Returns true if the string is null or 0-length. 因为你从EditText返回的是一个变量。如果这个变量本身为null值,那么你掉它的equals方法是要报错的。但是如果你调用TextUtils.isEmpty() 把这个变量作为参数传进去。只要这个参数为空或者为“”,都会返回真。所以,用官方给的更加严谨。而且。也十分方便。因为你单独去判断你还不是要写一个if语句判断。返回的还是一个boolean值,为何别人铺好的路不走呢?

private void parseBenchRuntimeConfigItem(XmlPullParser parser, int eventType, String tagName) { 567 //clear it first 568 mBenchRuntimeConfigMap.clear(); 569 570 try { 571 while (eventType != XmlPullParser.END_DOCUMENT) { 572 if (eventType == XmlPullParser.START_TAG) { 573 String tag = parser.getName(); 574 if (“bench_config”.equals(tag)) { 575 String bidString = parser.getAttributeValue(null, “index”); 576 String refreshRateString = parser.getAttributeValue(null, “refreshRate”); 577 String jpgmutiString = parser.getAttributeValue(null, “jpgmuti”); 578 String seqwriteString = parser.getAttributeValue(null, “seqwrite”); 579 String seqreadString = parser.getAttributeValue(null, “seqread”); 580 String randwriteString = parser.getAttributeValue(null, “randwrite”); 581 String randreadString = parser.getAttributeValue(null, “randread”); 582 String databaseString = parser.getAttributeValue(null, “database”); 583 String uilagString = parser.getAttributeValue(null, “uilag”); 584 String openmpString = parser.getAttributeValue(null, “openmp”); 585 String mutioptString = parser.getAttributeValue(null, “mutiopt”); 586 String gemmmutiString = parser.getAttributeValue(null, “gemmmuti”); 587 String finishedString = parser.getAttributeValue(null, “finished”); 588 String gpubenchString = parser.getAttributeValue(null, “gpubench”); 589 String pdfenhanceString = parser.getAttributeValue(null, “pdfenhance”); 590 String xmlenhanceString = parser.getAttributeValue(null, “xmlenhance”); 591 if (!TextUtils.isEmpty(bidString) && !TextUtils.isEmpty(refreshRateString) && !TextUtils.isEmpty(jpgmutiString) 592 && !TextUtils.isEmpty(mutioptString) && !TextUtils.isEmpty(seqwriteString) && !TextUtils.isEmpty(seqreadString) 593 && !TextUtils.isEmpty(randwriteString) && !TextUtils.isEmpty(randreadString) && !TextUtils.isEmpty(databaseString) 594 && !TextUtils.isEmpty(openmpString) && !TextUtils.isEmpty(gemmmutiString) && !TextUtils.isEmpty(uilagString) 595 && !TextUtils.isEmpty(finishedString) && !TextUtils.isEmpty(gpubenchString) 596 && !TextUtils.isEmpty(pdfenhanceString) && !TextUtils.isEmpty(xmlenhanceString)) { 597 int bid = Integer.parseInt(bidString); 598 int refreshRate = Integer.parseInt(refreshRateString); 599 int jpgmuti = Integer.parseInt(jpgmutiString); 600 int seqwrite = Integer.parseInt(seqwriteString); 601 int seqread = Integer.parseInt(seqreadString); 602 int randwrite = Integer.parseInt(randwriteString); 603 int randread = Integer.parseInt(randreadString); 604 int database = Integer.parseInt(databaseString); 605 int uilag = Integer.parseInt(uilagString); 606 int openmp = Integer.parseInt(openmpString); 607 int mutiopt = Integer.parseInt(mutioptString); 608 int gemmmuti = Integer.parseInt(gemmmutiString); 609 int finished = Integer.parseInt(finishedString); 610 int gpubench = Integer.parseInt(gpubenchString); 611 int pdfenhance = Integer.parseInt(pdfenhanceString); 612 int xmlenhance = Integer.parseInt(xmlenhanceString); 613 BenchConfig benchRuntimeConfigItem = new BenchConfig(bid, refreshRate, jpgmuti, seqwrite, seqread, randwrite, randread, 614 database, uilag, openmp, mutiopt, gemmmuti, finished, gpubench, 615 pdfenhance, xmlenhance); 616 mBenchRuntimeConfigMap.put(bid, benchRuntimeConfigItem); 617 } 618 } 619 } 620 if (eventType == XmlPullParser.END_TAG) { 621 if (tagName.equals(parser.getName())) { 622 break; 623 } 624 } 625 eventType = parser.next(); 626 } 627 //for debug 628 if (DEBUG) { 629 Slog.d(TAG, "mBenchRuntimeConfigMap= " + mBenchRuntimeConfigMap.toString()); 630 } 631 } catch (Exception e) { 632 Slog.e(TAG, “parseBenchRuntimeConfigItem e=” + e); 633 } 634 }去掉行号并逐行解释,不准省略
07-11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值