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

 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。我不确定我所做的是否是最佳实践,因为我多次传递了相同的对象。

构造一个布尔数组并以一种方法传递对象一次,执行所有计算然后将值传递给布尔数组,是否更好?还是对性能没有影响?

最佳答案

这些都不会带来任何可衡量的变化。这些琐碎的事情不会以您可以分辨的方式影响性能。

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

为什么要用这种方式测试类型?这可以是多态的吗?面向对象编程的诞生就是为了消除这种“我是什么?”如果/然后/其他代码。

09-04 12:34