Java new integer null

Java new integer null

Integer класс обертывает значение типа примитива int в объекте. Объект типа Integer содержит единственное поле, тип которого int . Кроме того, этот класс обеспечивает несколько методов для того, чтобы они преобразовали int к a String и a String к int , так же как другие константы и методы, полезные, имея дело с int . Примечание реализации: реализации методов «битового жонглирования» (такой как highestOneBit и numberOfTrailingZeros ) основаны на материале от Генри С. Уоррена, Восхищения Хакера Младшего., (Аддисон Уэсли, 2002).

Полевая Сводка

Сводка конструктора

Создает недавно выделенный Integer объект, который представляет int значение, обозначенное String параметр.

Сводка метода

Возвраты int значение с самое большее одноразрядным синглом, в позиции самого высокого порядка («крайнего левого») одноразрядный в указанном int значение.

Возвраты int значение с самое большее одноразрядным синглом, в позиции («самого правого») одноразрядного самого низкоуровневого в указанном int значение.

Возвращает число нулевых битов, предшествующих самому высокому порядку («крайнему левому») одноразрядный в дополнительном двоичном представлении two указанного int значение.

Возвращает число нулевых битов после («самого правого») одноразрядного самого низкоуровневого в дополнительном двоичном представлении two указанного int значение.

Анализирует строковый параметр как целое число со знаком в основании, определенном вторым параметром.

Возвращает значение, полученное, инвертируя порядок битов в дополнительном двоичном представлении two указанного int значение.

Возвращает значение, полученное, инвертируя порядок байтов в дополнительном представлении two указанного int значение.

Возвращает значение, полученное, поворачивая дополнительное двоичное представление two указанного int значение уехало конкретным количеством битов.

Возвращает значение, полученное, поворачивая дополнительное двоичное представление two указанного int оцените прямо конкретным количеством битов.

Возвраты Integer объект, содержащий значение, извлекается из указанного String когда анализирующийся с основанием, данным вторым параметром.

Методы java.lang унаследованный от класса. Объект

Полевая Деталь

MIN_VALUE

public static final int MIN_VALUE

MAX_VALUE

public static final int MAX_VALUE

ВВЕСТИ

РАЗМЕР

public static final int SIZE

Деталь конструктора

Целое число

Целое число

public Integer(String s) throws NumberFormatException

Создает недавно выделенный Integer объект, который представляет int значение, обозначенное String параметр. Строка преобразовывается в int значение точно способом, используемым parseInt метод для основания 10.

Деталь метода

toString

Возвращает строковое представление первого параметра в основании, определенном вторым параметром. Если основание меньше чем Character.MIN_RADIX или больше чем Character.MAX_RADIX , тогда основание 10 используется вместо этого. Если первый параметр отрицателен, первый элемент результата является ASCII минус символ ‘-‘ ( ‘\u002D’ ). Если первый параметр не отрицателен, никакой символ знака не появляется в результате. Остающиеся символы результата представляют величину первого параметра. Если величина является нулем, она представляется единственным нулевым символом ‘0’ ( ‘\u0030’ ); иначе, первый символ представления величины не будет нулевым символом. Следующие символы ASCII используются в качестве цифр:

Читайте также:  Python аргумент функции другая функция

Они ‘\u0030’ через ‘\u0039’ и ‘\u0061’ через ‘\u007A’ . Если radix N , тогда первый N этих символов используется в качестве цифр основания-N в показанном порядке. Таким образом цифры для шестнадцатеричного (основание 16) 0123456789abcdef . Если прописные буквы требуются, String.toUpperCase() метод можно вызвать на результате:

toHexString

Возвращает строковое представление целочисленного параметра как целое без знака в основе 16. Значение целого без знака является параметром плюс 232 , если параметр отрицателен; иначе, это равно параметру. Это значение преобразовывается в строку цифр ASCII в шестнадцатеричном (базируйтесь 16) без дополнительного продвижения 0 s. Если величина без знака является нулем, она представляется единственным нулевым символом ‘0’ ( ‘\u0030’ ); иначе, первый символ представления величины без знака не будет нулевым символом. Следующие символы используются в качестве шестнадцатеричных цифр:

Они — символы ‘\u0030’ через ‘\u0039’ и ‘\u0061’ через ‘\u0066’ . Если прописные буквы требуются, String.toUpperCase() метод можно вызвать на результате:

toOctalString

Возвращает строковое представление целочисленного параметра как целое без знака в основе 8. Значение целого без знака является параметром плюс 232 , если параметр отрицателен; иначе, это равно параметру. Это значение преобразовывается в строку цифр ASCII в восьмеричном (базируйтесь 8) без дополнительного продвижения 0 s. Если величина без знака является нулем, она представляется единственным нулевым символом ‘0’ ( ‘\u0030’ ); иначе, первый символ представления величины без знака не будет нулевым символом. Следующие символы используются в качестве восьмеричных цифр:

toBinaryString

Возвращает строковое представление целочисленного параметра как целое без знака в основе 2. Значение целого без знака является параметром плюс 232 , если параметр отрицателен; иначе это равно параметру. Это значение преобразовывается в строку цифр ASCII в двоичном файле (базируйтесь 2) без дополнительного продвижения 0 s. Если величина без знака является нулем, она представляется единственным нулевым символом ‘0’ ( ‘\u0030’ ); иначе, первый символ представления величины без знака не будет нулевым символом. Символы ‘0’ ( ‘\u0030’ ) и ‘1’ ( ‘\u0031’ ) используются в качестве двоичных цифр.

toString

Возвраты a String объект, представляющий указанное целое число. Параметр преобразовывается в десятичное представление со знаком и возвращается как строка, точно как будто параметр и основание 10 были даны как параметры toString(int, int) метод.

parseInt

public static int parseInt(String s, int radix) throws NumberFormatException
  • Первый параметр null или строка нуля длины.
  • Основание любой меньше чем Character.MIN_RADIX или больше чем Character.MAX_RADIX .
  • Любой символ строки не является цифрой указанного основания, за исключением того, что первый символ может быть знаком «минус» ‘-‘ ( ‘\u002D’ ) или знак «плюс» ‘+’ ( ‘\u002B’ ) при условии, что строка более длинна чем длина 1.
  • Значение, представленное строкой, не является значением типа int .
parseInt("0", 10) returns 0 parseInt("473", 10) returns 473 parseInt("+42", 10) returns 42 parseInt("-0", 10) returns 0 parseInt("-FF", 16) returns -255 parseInt("1100110", 2) returns 102 parseInt("2147483647", 10) returns 2147483647 parseInt("-2147483648", 10) returns -2147483648 parseInt("2147483648", 10) throws a NumberFormatException parseInt("99", 8) throws a NumberFormatException parseInt("Kona", 10) throws a NumberFormatException parseInt("Kona", 27) returns 411787

parseInt

public static int parseInt(String s) throws NumberFormatException

Анализирует строковый параметр как десятичное целое число со знаком. Символы в строке должны все быть десятичными цифрами, за исключением того, что первый символ может быть знаком «минус» ASCII ‘-‘ ( ‘\u002D’ ) указать на отрицательную величину или знак «плюс» ASCII ‘+’ ( ‘\u002B’ ) указать на положительное значение. Получающееся целочисленное значение возвращается, точно как будто параметр и основание 10 были даны как параметры parseInt(java.lang.String, int) метод.

Читайте также:  List all errors php

valueOf

public static Integer valueOf(String s, int radix) throws NumberFormatException

Возвраты Integer объект, содержащий значение, извлекается из указанного String когда анализирующийся с основанием, данным вторым параметром. Первый параметр интерпретируется как представление целого числа со знаком в основании, определенном вторым параметром, точно как будто параметры были даны parseInt(java.lang.String, int) метод. Результат Integer объект, который представляет целочисленное значение, определенное строкой. Другими словами этот метод возвращается Integer возразите равный значению:

valueOf

public static Integer valueOf(String s) throws NumberFormatException

Возвраты Integer объект, содержащий значение указанного String . Параметр интерпретируется как представление десятичного целого числа со знаком, точно как будто параметр был дан parseInt(java.lang.String) метод. Результат Integer объект, который представляет целочисленное значение, определенное строкой. Другими словами этот метод возвращается Integer возразите равный значению:

valueOf

Возвраты Integer экземпляр, представляющий указанное int значение. Если новое Integer экземпляр не требуется, этот метод должен обычно использоваться в предпочтении к конструктору Integer(int) , поскольку этот метод, вероятно, приведет к значительно лучшей производительности пространства и времени, кэшируя часто требуемые значения. Этот метод будет всегда кэшировать значения в диапазоне-128 к 127, включительно, и может кэшировать другие значения за пределами этого диапазона.

byteValue

shortValue

Источник

Assigning a null value to an int

Does it mean that a function returning a possible null value for an integer is a bad practice? Edit 1: There are several different opinions in these answers. I am not enough confident to choose one or another.

It’s not bad practice if you need to know that the value is unknown. Exception handling for NullPointerException can be incorporated into your code to reflect the absence, convert the NULL INT to a zero, etc. NULL is a necessary evil, there are cases where you need to clearly identify an unknown or absence of value, such as: how many times will I get married, date of death, etc.

Читайте также:  Listbox to listbox html

@TomHawtin-tackline so all we know is that he was wrong at least once, when that was is not only up for debate but also off topic. Considering that this question is not about language design and null is very much integral part of java stating the believes of a language designer is also unhelpfull

10 Answers 10

That code will give a NullPointerException when you run it. It’s basically equivalent to:

Integer a = null; int b = a.intValue(); 

. which makes it clearer that it will indeed fail.

You’re not really assigning a null value to an int — you’re trying and failing.

It’s fine to use null as a value for an Integer ; indeed often Integer is used instead of int precisely as a «nullable equivalent`.

If your function return an Integer, then when this function will be call, it should be assign to an Integer instead of an int in order to avoid this kind of exception. Otherwise it will be risky no?

@JohnJohnGa: Well yes. But then presumably if the method is returning Integer rather than int , that’s intentionally because it might be null.

@FrankComputer: Not in Java it can’t. It’s not really clear why you’ve added this comment, to be honest.

@FrankComputer: I think the OP’s already aware of that, and bringing C# into a Java question (without even saying so) is more likely to add confusion than clarity, IMO.

It is not possible. You will get NullPointerException

@JohnJohnGa: NullPointerException occurs in runtime.Not sure what you mean.Do you want correct code or code that compiles?

That will throw a NullPointerException.

The reason for this is that you’re relying on auto-unboxing of the Integer value to an int primitive type. Java does this by internally calling .intValue() on the Object, which is null.

As to either it’s a good practice or not. I would advise against doing so, unless the code is only used by you and you’re extremely well behaved, making sure that you only assign the return value of such method to Integer values, not int.

If your code ends up in a lib used by others, it’s not safe, and I would rather explicitly throw an Exception, well documented, and allow for defensive coding on the caller’s part.

Источник

Оцените статью