Это в основном тот же вопрос, что и Implementing a C style bitfield in Java. Но есть ли способ сделать это типичным способом, не прибегая к использованию класса? В качестве примера приведем код некоторых «C»:напечатано int и битбитная упаковка в java
typedef struct
{
unsigned int x: 8;
unsigned int y: 8;
} point;
point getPoint()
{
point p;
p.x = 1;
p.y = 2;
return p;
}
«точка» красиво набраны и компилятор передает его вокруг как Int примитивный тип, который является очень эффективным. В Java, можно было бы использовать класс, чтобы содержать точку, а затем написать:
point getPoint()
{
return new point(1,2);
}
Я пытаюсь улучшить сильно рекурсивную программу Java игры, которая использует класс «точку» (среди других простых классов), и поэтому jvm делает циллионы новых операций и занимает огромное количество времени в сборке мусора. Изменение класса «точка» в упакованном int может или не может помочь, но его стоит сделать. Но я хотел бы иметь хороший тип «point» для использования в программе, а не просто объявлять «int» везде, где я использую эту точку.
Не совсем, нет. –