Java 如何通过布尔函数调用名称

Java 如何通过布尔函数调用名称,java,boolean,Java,Boolean,我想称呼拥有CEO=true的人的名字;在这种情况下,就是特里斯坦。 我该怎么办? 我已经将公共字符串名称和公共布尔值转换为静态 我想说的是它看起来像这样 system.out.printIn(“您的首席执行官是Tristen”) 我会把这些人放在一个集合中,并对其进行迭代 List<business> businesses = new ArrayList<business>(); // add people here... foreach (business b :

我想称呼拥有CEO=true的人的名字;在这种情况下,就是特里斯坦。 我该怎么办? 我已经将公共字符串名称和公共布尔值转换为静态

我想说的是它看起来像这样

system.out.printIn(“您的首席执行官是Tristen”)


我会把这些人放在一个集合中,并对其进行迭代

List<business> businesses = new ArrayList<business>();
// add people here...

foreach (business b : businesses) {
   if (b.isCEO()) {
     System.out.println(b);
   }
}
List business=new ArrayList();
//在这里添加人。。。
foreach(业务b:业务){
if(b.isCEO()){
系统输出打印ln(b);
}
}
一些补充意见:

  • Java命名约定建议您应该将类名大写,例如
    Business
  • 您的成员是公开的。我会使它们私有化,并通过构造函数实例化。这促进了封装——OO编程的一个关键特性。通过方法公开它们(隐藏实现)
  • 询问对象是否是首席执行官——不要把领域拉出来自己决定。参见上面的示例
  • 我会尽量不使用
    static
    。您拥有的所有信息都绑定在您的对象中

  • CEO
    name
    字段不应是静态的。静态字段意味着该值被赋予
    业务
    类的所有实例,而不仅仅是单个实例。比如,

    tristen = new business();
    tristen.CEO = true;
    
    jan = new business();
    jan.CEO = false;  //CEO is now false for all instances of business (tristen and jan)
    

    您可能希望在创建实例时将所有实例存储在某种类型中,然后您可以遍历集合并检查哪一个是CEO。

    您不应该在if语句中使用==吗?@nickecarlo他应该只是删除
    =true
    部分:)@MarkoTopolnik不管怎样,它都不能满足他的需要。看在皮特的份上,我不知道它的真正意义。@nickecarlo是的,OP显然是在编写她的第一个Java程序:)有些随机场是静态的。——我打赌它们是通过Eclipse快速修复实现的:)@nickecarlo是的,那将是“艰难的爱”学习方法:)
    public final
    字段实际上可能是OP的一杯茶。在对象中?我仍然不认为这是特别好的。我会尽可能推广各种方法。还是我误解了你?是的,我想对于初学者来说最好的建议是访问者;我只是个人对他们感到厌烦,在允许他们进入之前,我需要他们为我照顾的实际问题的积极证据。Scala或自2000年以来的任何其他语言:)顺便说一句,我更喜欢Clojure而不是Scala。
    tristen = new business();
    tristen.CEO = true;
    
    jan = new business();
    jan.CEO = false;  //CEO is now false for all instances of business (tristen and jan)