如何编辑Java中十六进制整数的值?

How to edit the values of hexadecimal integer in Java?

我正在尝试编辑 Java 中的十六进制值。

编辑:顺便说一句,十六进制不仅包含 RGB,还包含 alpha。

例如:

int j = 0xAARRGGBB

创建整数后如何更改 AARR 的值?

我在 Google 上找不到这个问题的答案。

非常感谢您的帮助!

这就是我想你需要做的一切

public static int toARGB(int a,int r,int g,int b){
  return ((((((a << 8) | r) << 8) | g) << 8) | b);
}

public static int setB(int origin,int value){
  return set(origin,0,value);
}
public static int setG(int origin,int value){
  return set(origin,1,value);
}
public static int setR(int origin,int value){
  return set(origin,2,value);
}

public static int setA(int origin,int value){
  return set(origin,3,value);
}

public static int set(int origin,int pos,int value){
  return (origin & ~(0xFF << (pos * 8)) | value << (8 * pos));
}

按位和(&)可用于清除特定位:

int j = 0xff224488;

j = j & 0xffff00ff;     // j is now 0xff220088

按位或 (|) 可用于设置特定位:

int j = 0xff224488;

j = j & 0xffff00ff;     // j is now 0xff220088

j = j | 0x00003300;     // j is now 0xff223388