Top-office11.ru

IT и мир ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Java lang long

Java.lang.Long Class

Introduction

The java.lang.Long class wraps a value of the primitive type long in an object. An object of type Long contains a single field whose type is long.

Class Declaration

Following is the declaration for java.lang.Long class −

Field

Following are the fields for java.lang.Long class −

static long MAX_VALUE − This is a constant holding the maximum value a long can have, 2 63 -1.

static long MIN_VALUE − This is a constant holding the minimum value a long can have, -2 63 .

static int SIZE − This is the number of bits used to represent a long value in two’s complement binary form.

static Class TYPE − This is the class instance representing the primitive type long.

>

Sr.No.Constructor & Description1

This constructs a newly allocated Long object that represents the specified long argument.

This constructs a newly allocated Long object that represents the long value indicated by the String parameter.

>

Sr.No.Method & Description1static int bitCount(long i)

This method returns the number of one-bits in the two’s complement binary representation of the specified long value.

This method returns the value of this Long as a byte.

This method compares two Long objects numerically.

This method decodes a String into a Long.

This method returns the value of this Long as a double.

This method compares this object to the specified object.

This method returns the value of this Long as a float.

This method determines the long value of the system property with the specified name.

This method determines the long value of the system property with the specified name.

This method returns the long value of the system property with the specified name.

This method returns a hash code for this Long.

This method returns a long value with at most a single one-bit, in the position of the highest-order («leftmost») one-bit in the specified long value.

This method returns the value of this Long as an int.

This method returns the value of this Long as a long value.

This method returns a long value with at most a single one-bit, in the position of the lowest-order («rightmost») one-bit in the specified long value.

This method returns the number of zero bits preceding the highest-order («leftmost») one-bit in the two’s complement binary representation of the specified long value.

This method returns the number of zero bits following the lowest-order («rightmost») one-bit in the two’s complement binary representation of the specified long value.

This method parses the string argument as a signed decimal long.

This method parses the string argument as a signed long in the radix specified by the second argument.

This method returns the value obtained by reversing the order of the bits in the two’s complement binary representation of the specified long value.

This method returns the value obtained by reversing the order of the bytes in the two’s complement representation of the specified long value.

This method returns the value obtained by rotating the two’s complement binary representation of the specified long value left by the specified number of bits.

This method returns the value obtained by rotating the two’s complement binary representation of the specified long value right by the specified number of bits.

This method returns the value of this Long as a short.

This method returns the signum function of the specified long value.

This method returns a string representation of the long argument as an unsigned integer in base 2.

This method returns a string representation of the long argument as an unsigned integer in base 16.

This method returns a string representation of the long argument as an unsigned integer in base 8.

This method returns a String object representing this Long’s value.

This method returns a String object representing the specified long.

This method returns a string representation of the first argument in the radix specified by the second argument.

This method returns a Long instance representing the specified long value.

This method returns a Long object holding the value of the specified String.

This method returns a Long object holding the value extracted from the specified String when parsed with the radix given by the second argument.

Methods inherited

This class inherits methods from the following classes −

Java.Lang.Long класс в Java

Long класс — это класс-оболочка для примитивного типа long, который содержит несколько методов для эффективной обработки длинного значения, например, преобразование его в строковое представление и наоборот. Объект класса Long может содержать одно значение long. Есть в основном два конструктора для инициализации объекта Long.

  • Long (long b): Создает объект Long, инициализированный с предоставленным значением.
  • Long (String s): создает объект Long, инициализированный значением long, предоставленным строковым представлением. Радиус дефалута принят равным 10.

Методы:

  1. toString (): возвращает строку, соответствующую длинному значению.
  2. toHexString ( ): возвращает строку, соответствующую длинному значению в шестнадцатеричной форме, то есть возвращает строку, представляющую длинное значение в шестнадцатеричных символах- [0-9] [af]
  3. toOctalString () : возвращает строку, соответствующую длинному значению в восьмеричной форме, то есть возвращает строку, представляющую длинное значение в восьмеричных символах- [0-7]
  4. toBinaryString () : возвращает строку, соответствующую длинному значению в двоичных цифрах, то есть возвращает строку, представляющую длинное значение в шестнадцатеричных символах- [0/1]
  5. valueOf () : возвращает объект Long, инициализированный с предоставленным значением.

Другая перегруженная функция valueOf (String val, long radix), которая предоставляет функцию, аналогичную
новый Long (Long.parseLong (val, radix))

Другая перегруженная функция valueOf (String val), которая предоставляет функцию, аналогичную
new Long (Long.parseInt (val, 10))

parseLong (): возвращает длинное значение путем анализа строки в предоставленном radix. Отличается от valueOf () тем, что возвращает примитивное длинное значение, а valueOf () возвращает длинный объект.

Другой перегруженный метод, содержащий только String в качестве параметра, radix по умолчанию установлен в 10.

getLong (): возвращает объект Long, представляющий значение, связанное с данным системным свойством, или ноль, если он не существует.

Другой перегруженный метод, который возвращает второй аргумент, если свойство не существует, то есть не возвращает нуль, а значение по умолчанию, предоставленное пользователем.

Другой перегруженный метод, который анализирует значение в соответствии с возвращенным значением, то есть, если возвращаемое значение начинается с «#», то оно анализируется как шестнадцатеричное, если начинается с «0», то оно анализируется как восьмеричное, иначе десятичное.

  • decode () : возвращает объект Long, содержащий декодированное значение предоставленной строки. Предоставленная строка должна иметь следующую форму, иначе будет выброшено NumberFormatException
    Десятичное число (знак) десятичное число
    Hex- (Знак) ”0x” Hex_Digits
    Hex- (Знак) ”0X” Hex_Digits
    Octal- (Знак) ”0 ″ Octal_Digits
  • rotateLeft (): возвращает примитив long, вращая биты, оставленные на заданное расстояние, в форме дополнения до двух заданного значения. При вращении влево самый значимый бит перемещается в правую сторону, или происходит наименее значимая позиция, т.е. происходит циклическое перемещение бит. Отрицательное расстояние означает правое вращение.
  • rotateRight (): возвращает примитив long, вращая биты вправо на заданное расстояние в форме дополнения до двух заданного значения. При вращении вправо, младший значащий бит перемещается в левую сторону, или происходит самое значимое положение, т.е. происходит циклическое перемещение бит. Отрицательное расстояние означает левое вращение.

    // Java-программа для иллюстрации
    // различные методы класса Long

    public class Long_test

    public static void main(String args[])

    // Построить два длинных объекта

    Long x = new Long(b);

    Long y = new Long(bb);

    System.out.println( «toString(b) = » + Long.toString(b));

    // toHexString (), toOctalString (), toBinaryString ()

    // преобразовывает в шестнадцатеричную, восьмеричную и двоичную формы.

    System.out.println( «toHexString(b) =» + Long.toHexString(b));

    System.out.println( «toOctalString(b) =» + Long.toOctalString(b));

    System.out.println( «toBinaryString(b) =» + Long.toBinaryString(b));

    // valueOf (): вернуть объект Long

    // перегруженный метод также принимает radix.

    Long z = Long.valueOf(b);

    System.out.println( «valueOf(b) = » + z);

    System.out.println( «ValueOf(bb) = » + z);

    z = Long.valueOf(bb, 6 );

    System.out.println( «ValueOf(bb,6) = » + z);

    // parseLong (): вернуть примитивное длинное значение

    // перегруженный метод также принимает radix

    long zz = Long.parseLong(bb);

    System.out.println( «parseLong(bb) = » + zz);

    zz = Long.parseLong(bb, 6 );

    System.out.println( «parseLong(bb,6) = » + zz);

    // getLong (): может быть использован для получения

    // длинное значение системного свойства

    long prop = Long.getLong( «sun.arch.data.model» );

    System.out.println( «getLong(sun.arch.data.model) = » + prop);

    System.out.println( «getLong(abcd) =» + Long.getLong( «abcd» ));

    // перегруженный метод getLong ()

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

    System.out.println( «getLong(abcd,10) =» + Long.getLong( «abcd» , 10 ));

    // decode (): декодирует шестнадцатеричные, восьмеричные и десятичные числа

    // строка соответствующих длинных значений.

    String decimal = «45» ;

    String octal = «005» ;

    String hex = «0x0f» ;

    Long dec = Long.decode(decimal);

    System.out.println( «decode(45) = » + dec);

    System.out.println( «decode(005) = » + dec);

    System.out.println( «decode(0x0f) = » + dec);

    // можно использовать rotateLeft и rotateRight

    // вращать биты на указанное расстояние

    System.out.println( «rotateLeft(0000 0000 0000 0010 , 2) =» +

    System.out.println( «rotateRight(0000 0000 0000 0010,3) =» +

    Выход :

    Еще несколько методов класса Long —

  • byteValue ( ): возвращает байтовое значение, соответствующее этому длинному объекту.
  • shortValue (): возвращает короткое значение, соответствующее этому длинному объекту.
  • intValue (): возвращает значение int, соответствующее этому длинному объекту.
  • longValue () : возвращает длинное значение, соответствующее этому длинному объекту.
  • doubleValue (): возвращает двойное значение, соответствующее этому длинному объекту.
  • floatValue (): возвращает значение с плавающей точкой, соответствующее этому длинному объекту.
  • hashCode (): возвращает хэш-код, соответствующий этому длинному объекту.
  • bitcount (): возвращает количество установленных битов в дополнение к двум заданным длинным.
  • numberOfLeadingZeroes () : Возвращает число 0 битов, предшествующих старшему 1 биту в форме дополнения до двух значений, т. е. если число в форме дополнения до двух равно 0000 1010 0000 0000, то эта функция вернет 4.
  • numberOfTrailingZeroes () : Возвращает число 0 битов, следующих за последним 1 битом в форме дополнения до двух значений, т. е. если число в форме дополнения до двух равно 0000 1010 0000 0000, то эта функция вернет 9.
  • highOneBit () : возвращает значение, содержащее не более одного бита, в позиции старшего бита в указанном значении. Возвращает 0, если задано значение 0, то есть, если число равно 0000 0000 0000 1111, чем эта функция возвращает 0000 0000 0000 1000 (один старший бит в данном номере)
  • LowestOneBit () : возвращает значение, содержащее не более одного бита, в позиции младшего бита в указанном значении. Возвращает 0, если задано значение 0, то есть, если число равно 0000 0000 0000 1111, чем эта функция возвращает 0000 0000 0000 0001 (один старший бит в данном номере)
  • equals () : используется для сравнения равенства двух длинных объектов. Этот метод возвращает true, если оба объекта содержат одинаковое длинное значение. Следует использовать только при проверке на равенство. Во всех других случаях метод сравнения должен быть предпочтительным.

    compareTo () : используется для сравнения двух длинных объектов на числовое равенство. Это следует использовать при сравнении двух длинных значений для числового равенства, поскольку оно будет различать меньшее и большее значения. Возвращает значение меньше 0,0, значение больше 0 для меньше, равно и больше, чем.

  • Compare (): используется для сравнения двух примитивных длинных значений для числового равенства. Так как это статический метод, поэтому его можно использовать без создания какого-либо объекта Long.
  • signum () : возвращает -1 для отрицательных значений, 0 для 0 и +1 для значений больше 0.
  • reverse () : возвращает примитивное длинное значение, меняющее порядок битов в форме дополнения до двух для данного длинного значения.
  • reverseBytes (): возвращает примитивное длинное значение, меняющее порядок байтов в форме дополнения до двух данного длинного значения.
  • // Java-программа для иллюстрации
    // различные длинные методы

    public class Long_test

    public static void main(String args[])

    // Построить два длинных объекта

    Long x = new Long(b);

    Long y = new Long(bb);

    // xxxValue может быть использовано для получения

    // значение типа xxx из длинного значения.

    // ххх может быть int, byte, short, long, double, float

    System.out.println( «bytevalue(x) = » + x.byteValue());

    System.out.println( «shortvalue(x) = » + x.shortValue());

    System.out.println( «intvalue(x) = » + x.intValue());

    System.out.println( «longvalue(x) = » + x.longValue());

    System.out.println( «doublevalue(x) = » + x.doubleValue());

    System.out.println( «floatvalue(x) = » + x.floatValue());

    // bitcount (): может использоваться для подсчета установленных бит

    // в двойном дополнении числа

    System.out.println( «Long.bitcount(value)=» + Long.bitCount(value));

    // numberOfTrailingZeroes и numberOfLeaadingZeroes

    // может быть использован для подсчета префикса и постфикса последовательности 0

    // наибольшийOneBit возвращает значение с одним на самом высоком

    // установить битовую позицию

    // самое высокое значение возвращает одно с самым низким

    // установить битовую позицию

    // reverse () может использоваться для изменения порядка бит

    // reverseytes () может использоваться для изменения порядка байтов

    System.out.println( «Long.reverse(value)=» + Long.reverse(value));

    // signum () возвращает -1,0,1 для отрицательного, 0 и положительного

    System.out.println( «Long.signum(value)=» + Long.signum(value));

    // hashcode () возвращает хеш-код объекта

    int hash = x.hashCode();

    System.out.println( «hashcode(x) = » + hash);

    // равно возвращает логическое значение, представляющее равенство

    boolean eq = x.equals(y);

    System.out.println( «x.equals(y) = » + eq);

    // compare () используется для сравнения двух значений int

    int e = Long.compare(x, y);

    System.out.println( «compare(x,y) = » + e);

    // compareTo () используется для сравнения этого значения с некоторыми

    int f = x.compareTo(y);

    System.out.println( «x.compareTo(y) = » + f);

    Выход :

    Эта статья предоставлена Rishabh Mahrsee . Если вы как GeeksforGeeks и хотели бы внести свой вклад, вы также можете написать статью с помощью contribute.geeksforgeeks.org или по почте статьи contribute@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

    Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.

    Когда использовать Long vs long в java?

    ниже мой интерфейс —

    это моя реализация интерфейса —

    теперь у меня есть фабрика, которая получает экземпляр DatabaseClient вот так —

    теперь мне нужно позвонить в read метод DatabaseClient , который принимает ClientInput параметр и ниже-это класс для того же самого. Этот класс не был написан мной, поэтому у меня есть вопрос по этому поводу, и я почти уверен, что это неправильный способ сделать это.

    поэтому, когда клиент звонит read метод DatabaseClient , они создадут ClientInput параметр, подобный этому, а затем используйте фабрику, чтобы получить экземпляр DatabaseClient и затем вызовите метод read соответственно.

    Постановка Задачи:-

    1. Итак, мой первый вопрос тут userid , clientid , timeout_ms должно быть Long объект или просто long на ClientInput класс?
    2. второй вопрос у меня есть, возможно, что клиент может передать неправильную информацию, такую как negative user ids , negative client id , negative timeout значение и т. д. и т. п.. Тогда где я должен сделать эту проверку? Должен ли я сделать эту проверку проверки в конструкторе ClientInput класс или в другое место? Каков лучший способ сделать это и как я должен сделать проверку?

    7 ответов

    Я не думаю, что есть один правильный ответ. Несколько предложений:

    самая большая разница, которую я вижу между long и Long в этом контексте, заключается в том, что Long может быть null. Если есть вероятность, что у вас могут быть отсутствующие значения, Long объект будет полезен, так как null может указывать отсутствующие значения. Если вы используете примитивы, вам придется использовать какое-то специальное значение, чтобы указать отсутствует, что, вероятно, будет беспорядок. Скорость или размер, скорее всего, не будет проблемой если только вы не планируете сделать массив из миллиона этих вещей, а затем сериализовать.

    Я предпочитаю логику проверки, чтобы бросить какой-то пользовательский ValidationException в точке, в которой вещь может потерпеть неудачу. Если вы просто создаете эти вещи с помощью конструктора, проще всего было бы просто проверить там, например

    в конечном счете validationException полезен, только если вы можете поймать его в точке, где вы можете сделать что — то полезное с ним-эхо его обратно пользователю или что-то еще.

    long примитив, который должны иметь значение. Простой.

    Long это объект, так:

    • может быть null (что означает все, что вам нравится, но «неизвестный» является общей интерпретацией)
    • его можно передать методу, который принимает Object , Number , Long или long параметр (последний благодаря автоматической распаковке)
    • его можно использовать общий тип параметра, ie List это нормально, но List и не OK
    • он может быть сериализован / десериализован через механизм сериализации java

    всегда используйте простейшую вещь, которая работает, поэтому, если вам нужна какая-либо из функций Long используйте Long в противном случае использовать long . Издержек Long удивительно мал, но он есть.

    1 Long-ориентированная на объект встречная часть long. Разница заключается в следующем,и она применяется к Float to float, Integer to integer и т. д.

    • long является примитивным типом, В то время как Long является классом Java (и поэтому он будет наследовать объект).
    • long должен быть назначен с допустимым номером, в то время как Long может быть null
    • длинные экземпляры не могут использовать преимущества OO, в то время как экземпляры Long являются реальными объектами Java
    • Long является сериализуемым так это будет очень полезно при выполнении файла, базы данных или сети IO
    • long более эффективен, чем долго, учитывая пространство памяти и скорость обработки

    Если вы делаете тяжелые вычисления, использовать примитивные типы. В противном случае, если вы больше беспокоитесь о дизайне, детали счетчика объектов будут очень полезны.

    2 поскольку вы не используете никаких фреймворков, если я правильно наблюдаю, я предлагаю вам сделать интерфейс, как проверен С a метод bool validate (). И каждый раз, когда вы пытаетесь ввести ввод в базу данных, вызов проверяйте заранее.

    1) Используйте Long, если вам нужно обработать значение как объект. Используйте long в противном случае; это более эффективно.

    2) принимать решения, на самом деле. Глубже это означает, что вы собираетесь проверить, даже если значение исходит из источника, которому Вы доверяете, но это может поймать ошибки в другом коде. Приблизив его к пользовательскому входу, вы потеряете эту глубокую проверку здравомыслия (и, возможно, потребуется проверить более одного места), но избегаете тратить время на проверку вещей, которые вы уже проверили. Что лучше зависит от того, как вы планируете использовать/улучшать этот код в будущем.

    As Long является оберткой класса privimitive type long и Long — Это класс, который указывает на его экземпляр может быть null. На мой взгляд, использовать класс-оболочку лучше, чем примитивный тип, потому что может быть null состояние в нем, которое может сообщить нам больше информации.
    Кроме того, класс обертки будет автоматически инициализирован с 0, это хорошо для ленивого использования.

    для проверки данных, я думаю, вам лучше сделать это в controller а не DAO , то есть хороший метод для обработки этого или оповещения пользователя, чтобы изменить их!

    преимуществом Long класса является то, что значение может быть null. В вашем случае, если длинный идентификатор не указан, если вы быстро обнаружите это с чем-то вроде..

    на ваш второй вопрос вы также можете поместить свою проверку ID в конструктор. Это гарантирует, что если ID равен null или недействителен, ClientInput никогда не может быть создан. Но нет «лучшего» ответа для того, где вы ставите эту проверку, это зависит от структуры остальной части вашего кода, но в идеале вы хочется поймать такие вещи как можно раньше.

    другой вариант-принять параметр userid как Long, проверяя его на null, но затем сохранить его как частный, примитивный long, как только вы узнаете его действительный.

    Я пытаюсь сохранить объекты Bean как можно проще, что означало бы обработку проверки в другом месте — либо в отдельном классе валидатора, либо в методе validate (). Общий алгоритм тот же:

    Читать еще:  Как заполнить двумерный массив java
    Ссылка на основную публикацию
    Adblock
    detector