0

我需要检查对象实体是否满足某些规则。我的对象是一个电话,我需要检查它是否满足某些条件或不继续后面的逻辑。请在下面找到我的解决方案。

 private static boolean isGPRS(CallXCD callXCD){

   String serviceName = callXCD.getServiceName();
   boolean isGPRS = false;

   if(serviceName.compareTo("GPRSB")==0)
     isGPRS = true;

   return isGPRS;
}

private static boolean isVoice(CallXCD callXCD){

  String serviceName = callXCD.getServiceName();
  boolean isVoice = false;

  if(serviceName.compareTo("TEL")==0)
      isVoice = true;

  return isVoice;
}

然后我会检查 isGPRS 是否返回 true,我会做 X。如果 isVoice 返回 true,我会做 Y。我不确定我所做的是否是最佳实践,因为我多次传递同一个对象。

构建一个布尔数组并在一种方法中一次传递对象是否更好,进行所有计算然后将值传递给布尔数组。或者它不会对性能产生任何影响?

4

1 回答 1

2

这些都不会产生任何可衡量的差异。这些微不足道的事情不会以您能够分辨的方式影响性能。

我想知道为什么你必须这样做。为什么是静态方法?为什么不让这些成员成为CallXCD班级成员,让它简单地告诉你它是什么样的东西呢?将所有状态和逻辑封装在一个地方。

为什么要以这种方式测试类型?这可能是多态的吗?面向对象编程的诞生就是为了消除这种“我是什么?” if/then/else 代码。

于 2013-09-17T09:52:08.390 回答