Примитивный тип short - приведение в Java

РЕДАКТИРОВАТЬ: Хорошо, теперь typecast мы знаем, что это Java ...

Section 4.2.2 of the Java Language Specification утверждает:

Язык .java программирования Java предоставляет ряд javax операторов, которые действуют javax на целые значения:

[...]

  • Числовые операторы, которые приводят к в значении типа int или long:
  • [...]
  • Аддитивные операторы + и - (§15.18)
  • Другими openjdk словами, это похоже на C# - оператор primitive сложения (при применении type-casting к целочисленным типам) всегда .java приводит только к int или long, поэтому java-libraries вам нужно выполнить приведение, чтобы javax присвоить переменной short.

    Исходный ответ (C#)

    В cast C# (вы не указали язык, поэтому jre я предполагаю) единственными oraclejdk операторами сложения для java примитивных типов являются:

    int operator +(int x, int y);
    uint operator +(uint x, uint y);
    long operator +(long x, long y);
    ulong operator +(ulong x, ulong y);
    float operator +(float x, float y);
    double operator +(double x, double y);
    

    Они jdk указаны в спецификации C# 3.0, раздел core-java 7.7.4. Кроме того, определяется cast десятичное сложение:

    decimal operator +(decimal x, decimal y);
    

    (Там java-libraries же определяются добавление java-libraries перечисления, конкатенация openjdk строк и комбинация делегатов.)

    Как short видите, оператора short operator +(short x, short y) нет, поэтому primitive оба операнда неявно преобразуются core-java в int, и используется форма primitive int. Это означает, что результатом java-se является выражение типа "int", следовательно, необходимо typecast приведение.

    java

    casting

    primitive

    short

    2022-10-30T10:31:03+00:00