Как проверить long на null java
Перейти к содержимому

Как проверить long на null java

  • автор:

Как правильно проверить на null

Подскажите, почему не работает проверка на null, приложение просто крашится.

package com.veboro.cvkom; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.text.TextUtils; import android.view.View; import android.widget.EditText; import android.widget.TextView; public class Gaz extends AppCompatActivity < @Override protected void onCreate(Bundle savedInstanceState) < super.onCreate(savedInstanceState); setContentView(R.layout.activity_gaz); >public void gaz (View view) < EditText pop = (EditText) findViewById(R.id.pop); EditText tep = (EditText) findViewById(R.id.tep); TextView summa = (TextView) findViewById(R.id.textView); Double popFin = Double.parseDouble(pop.getText().toString()); Double tepFin = Double.parseDouble(tep.getText().toString()); if (popFin == null || tepFin == 0)< summa.setText("Всі поля обовязкові для заповнення"); >else < double result = (tepFin - popFin) * 6.87; summa.setText("До сплати " + String.format("%.2f", result) + " грн."); >> > 

Отслеживать

66.6k 6 6 золотых знаков 54 54 серебряных знака 113 113 бронзовых знаков

задан 11 сен 2017 в 14:10

23 1 1 серебряный знак 9 9 бронзовых знаков

С какой ошибкой крашится? Добавьте в вопрос её полный текст.

11 сен 2017 в 14:15

Просто перезагружается, в логах нет прямых ошибок.

11 сен 2017 в 14:19

тогда как вы определили, что виновата проверка на null?

11 сен 2017 в 14:19

Если поля пусты то после нажатия кнопки все перезагружается, в ином случае все работает.

11 сен 2017 в 14:20

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

У вас очень странный код. Во-первых, EditText.getText() для пустого поля вернёт «». При попытке вызывать Double.parseDouble() с пустой строкой возникнет исключение NumberFormatException. Что у вас скорее всего и происходит. Но вы его перехватывать не пытаетесь, а вместо этого проверяете переменную popFin на null , которого там никак оказаться не может. Попробуйте так:

 EditText pop = (EditText) findViewById(R.id.pop); EditText tep = (EditText) findViewById(R.id.tep); TextView summa = (TextView) findViewById(R.id.textView); String popFinVal = pop.getText().toString(); String tepFinVal = tep.getText().toString(); if (popFinVal.isEmpty() || tepFinVal.isEmpty()) < summa.setText("Всі поля обовязкові для заповнення"); >else < try < double popFin = Double.parseDouble(popFinVal); double tepFin = Double.parseDouble(tepFinVal); double result = (tepFin - popFin) * 6.87; summa.setText(String.format("До сплати %.2f грн.", result)); >catch(NumberFormatException exc) < summa.setText("Невірний формат"); >> 

Как проверить Лонг на ноль в Java

Примитивные типы данных не могут быть null . Только типы данных Object могут быть null . int , long и т.д. не может быть null . Если вы используете long (класс-оболочка для long ), вы можете проверить null ‘:

Long longValue = null; if(longValue == null) 

brso05 29 окт. 2014, в 19:18
Поделиться

Если переменная longValue имеет тип Long (класс оболочки, а не примитив Long ), то да, вы можете проверить нулевые значения. Первичная переменная должна быть инициализирована до некоторого значения явно (например, до 0 ), поэтому ее значение никогда не будет равно нулю.

manouti 29 окт. 2014, в 19:42
Поделиться

Если это объект Long , то вы можете использовать longValue == null или вы можете использовать метод Objects.isNull(longValue) в Java 8. Пожалуйста, просмотрите Объекты для получения дополнительной информации.

Diablo 10 март 2016, в 16:14
Поделиться

Вы можете проверить объект Long для нулевого значения с помощью longValue == null , вы можете использовать longValue == 0L для длинных (примитивных), потому что значение по умолчанию long равно 0L, но результат будет true, если longValue тоже равно нулю

Arif Ulusoy 29 окт. 2014, в 20:02
Поделиться

Конечно, примитивные типы не могут быть нулевыми. Но в Java 8 вы можете использовать Objects.isNull(longValue) для проверки. Ex. Если (Objects.isNull(longValue))

Srinath 25 янв. 2019, в 04:12
Поделиться

Как уже упоминалось, примитивы не могут быть установлены на тип объекта null. В таких случаях я просто использую -1 или Long.MIN_VALUE .

tammoj 01 окт. 2018, в 13:10
Поделиться

Так как примитивы (long) не могут быть нулевыми, они могут быть преобразованы в класс-оболочку этого типа примитивов (например, Long), и может быть выполнена проверка на null. Если вы хотите проверить, является ли длинная переменная нулевой, вы можете преобразовать это в Long и проверить,

long longValue=null; if(Long.valueOf(longValue)==null) 

Pavithra 22 июнь 2017, в 08:34
Поделиться
Вы никогда не получите null значение для Long.valueOf() .
Vitalii Diravka 03 дек. 2018, в 11:11

Ещё вопросы

  • 1 Конвертировать категорические признаки (Enum) в H2o в Boolean
  • 0 Сохранить адрес узла списка ссылок
  • 1 Использование экземпляра одноэлементного класса в качестве переменной уровня класса приемлемо?
  • 0 Почему существует бесконечный цикл? C ++
  • 1 tf.maximum не возвращает ожидаемый результат (новичок)
  • 0 нг-повтор с фильтром и двойной порядок
  • 1 Почему эмулятор не получает FCM Push
  • 1 Регулярное выражение для сопоставления целых чисел
  • 0 Установка MAMP на компьютер с установленным MySql и настройкой PHP на localhost?
  • 0 Сайт AngularJS — полный или частичный
  • 0 Java: Удалить строку mysql, если значение не существует в ArrayList
  • 1 Переслать тело из ответа в точности так, как он приходит
  • 0 Необходимо преобразовать 16-битные данные в 8-битные
  • 1 Как отобразить сообщение только один раз, когда таймер достигает 15 секунд
  • 0 Значок шеврона, направленный вверх или вниз в зависимости от положения гармошки
  • 0 как избежать бесконечной анимации, вызванной несколькими нажатиями на элемент меню
  • 0 mmap и выравнивание страниц данных — это увеличивает производительность?
  • 0 вычислить std :: расстояние между двумя std :: reverse_iterators
  • 0 Как условно создать другой раздел в угловом шаблоне (html файл)
  • 1 Как отладить крюк Кордовы?
  • 0 Не удается получить единый стиль в браузерах для календаря
  • 1 Как выбрать и отменить выбор маркера в Google Maps?
  • 1 Десериализация XML-файла в .Net Object
  • 0 Ошибка: недопустимое значение для атрибута x = «NaN» в angularJS nvd3-multi-bar-chart
  • 1 Как конфертировать из ICollection в IEnumerable?
  • 1 Редактировать изображения в файле PDF с помощью объекта COSStream
  • 1 Как открыть ссылки в новом окне браузера с помощью ie 11
  • 0 Как переопределить прослушивание кликов для кнопки в веб-просмотре
  • 0 Есть ли способ контролировать высоту выпадающего списка выбора?
  • 0 Html.toHtml () не конвертирует текст RelativeSizeSpan ‘ed
  • 0 Использование контроллеров, добавленных маршрутами, для объявления переменных $ scope в Angular JS?
  • 0 PHP найти похожие ключи массива и сумму значений
  • 0 Codeigniter — обязательное поле для проверки формы 2 с несоответствующим значением
  • 0 Как придумать хороший дизайн?
  • 0 Невозможно использовать скалярное значение в качестве массива — толчок массива
  • 0 как не выбрать некоторые данные с помощью xpath в webharvest
  • 0 Как перекомпилировать WinSCP без финализатора
  • 0 Как создать и выполнить код в iframe в javascript
  • 0 Сохраните данные JSON в текстовый файл и прочитайте его
  • 1 Асинхронная проблема с несколькими задачами
  • 0 Как использовать app / Resources / public в Symfony2
  • 1 Java-шифрование числовых значений в буквенно-цифровые значения
  • 0 Выполнение запроса занимает более 40 секунд
  • 1 Как передать дополнительные аргументы объекту сервиса Google Pagespeed API
  • 0 сохранение базы данных резервных копий mysql с использованием php и пути mkdir
  • 1 Как я могу назвать класс из основного класса?
  • 0 как удалить кнопки «одна страница», «две страницы»… «шесть страниц» в printpreviewdialog?
  • 0 Ссылаясь на корневой каталог
  • 0 как проверить, существует ли имя пользователя в angularjs
  • 0 fancybox 2 и названия

Проверить на null [закрыт]

Закрыт. Этот вопрос не по теме. Ответы на него в данный момент не принимаются.

Вопросы с просьбами помочь с отладкой («почему этот код не работает?») должны включать желаемое поведение, конкретную проблему или ошибку и минимальный код для её воспроизведения прямо в вопросе. Вопросы без явного описания проблемы бесполезны для остальных посетителей. См. Как создать минимальный, самодостаточный и воспроизводимый пример.

Закрыт 3 года назад .

Определите и реализуйте общий статический метод, hasNull который возвращается, true если входной массив имеет null элемент, и в false противном случае. Sample Input 1: String There are elements of the array Sample Output 1: false

class ArrayUtils < public static boolean hasNull(T[] value) < if (value == null) < return true; >return false; > > 

How to detect if a long type is actually NULL?

We have a nullable (type long) column (named referral) in our MySQL database. We use hibernate for ORM. I am trying to get the value of the column for a given member. Some are null, and if its not, its an id that points to another member whose is the referrer. The problem is in the java code I am trying to detect if that member’s column is null, if not, do something.

String referrerAffiliateId = Long.toString(member.getReferral()); if (referrerAffiliateId != null) < //do something >

member.getReferral() returns the value (type long) of the referral column. Some of those columns are null and some are not. The above code compiles fine, but I get a nullPointerException when I call the method on a user whose referral column is null. How do I properly do a detection on this? Thanks in advance! Full Answer: Thanks to @Marcelo for the best correct answer. Here is the code in its final state:

Long referrerAffiliateId = member.getReferral(); if (referrerAffiliateId != null) < //. >

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *