将参数链接到函数

时间:2012-09-18 08:07:01

标签: java android

我经常查看API说android api,你可以在参数之间添加一个管道来组合它们。说* CENTER_VERTICAL | CENTER_HORIZONTAL *。这是怎么做到的?谁能告诉我一个例子,我可以将多个参数传递给上面链接的函数?我怎么读他们?

亲切的问候

2 个答案:

答案 0 :(得分:4)

垂直条实际上是按位OR,因此该方法仅在参数为“flags”或位字段时才有效。

e.g。

private static final int FLAG1 = 0x01;
private static final int FLAG2 = 0x02;

callFunc(FLAG1|FLAG2); // (passes 0x03)

如果args只是“任何旧的int”,它可能不会按你的想法行事:

e.g。

callFunc(0x03|0x01); // passes 0x03 - so the 0x01 does nothing.

答案 1 :(得分:0)

这就像我想要的那样。找到了答案,所以我想我会回答我自己的问题。

   public static final int a=1
   public static final int b=2;
   public static final int c=4;
   public static final int d=8;


    myfunction(a|b);

    myfunction(int x)
    {
       if((a&x)==a)
       {
          //Do whatever a stands for, and so on.
       }

      if((b&x)==b)
      { 
      }

      if((c&X)==c)
      {
      }

      if(d&x))==d)
      {
      }

    }




}