Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android rxjava的语用问题_Android_Rx Java - Fatal编程技术网

Android rxjava的语用问题

Android rxjava的语用问题,android,rx-java,Android,Rx Java,问题是,我有一个验证方法,其中包括许多if/else语句: if (isBlank(applyLoan.principal)) { makeToast(R.string.wizard_alert_null_principal); return false; } if (!isValidDigital(applyLoan.principal)) { makeToast(R.string.wizard_alert_illegal_principal); return false; }

问题是,我有一个验证方法,其中包括许多if/else语句:

if (isBlank(applyLoan.principal)) {
  makeToast(R.string.wizard_alert_null_principal);
  return false;
}
if (!isValidDigital(applyLoan.principal)) {
  makeToast(R.string.wizard_alert_illegal_principal);
  return false;
}
if (isBlank(applyLoan.loanInstallment)) {
  makeToast(R.string.wizard_purpose_hint_installment);
  return false;
}
if (isBlank(applyLoan.loanFor)) {
  makeToast(R.string.wizard_purpose_hint_purpose);
  return false;
}
...(lots of these things)
我正在考虑使用过滤器操作符,但我不知道它是否有价值,因为在阅读了源代码之后,我发现了很多“新”对象


因此,从内存管理的角度来看,是否值得替换if/else?还有什么我应该知道的相关信息吗?

相当抽象的问题,你想进一步解释为什么你有rx java标记以及你想优化什么吗?实际上,我只想直接在ContextChanged回调中进行一些验证,但由于“大”的可观察性,我仍然使用if/else not过滤器。这个回调事件会做出多次反应,在用户输入一些文本后,Observable也会做出多次反应。所以我不知道,我也没有看到rx内存管理或类似的说法出现。任何可观察到的代码块都会以“相同的方式”工作,就像你没有rx一样。将Rx简单地看作一个异步任务管理框架。因此,每当
onTextChanged()
通知订户指定的代码块时,例如上面的代码块就会运行。是的,非常感谢您的回复,我同意您的“相同方式”。但是我的意思是过滤器操作符和if/else之间的区别,我的意思是它们确实有区别,因为它们的实现方式对吗?if/else不会在大量事件中加入额外的对象(它们只是一些验证),但是在探索了“filter”的源代码之后,我确信它们不仅仅是验证,我必须在活动结束时取消订阅它们的订阅者。所以我应该担心吗,我走对了吗?