Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
14 / 2 / 0
Регистрация: 29.09.2018
Сообщений: 246

Строки и null

23.11.2018, 20:39. Показов 3249. Ответов 64
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
При каких случаях строка может быть равна null, разумеется кроме того случая когда мы ей это значение присвоили? И когда может потребоваться узнать равна ли строка null? (Просто возникли такие вопросы при чтении книги, интересно знать)
1
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.11.2018, 20:39
Ответы с готовыми решениями:

Блин, для ЧЕГО НУЖНА Функция CREATE TABLE invoice( inv_id INT AUTO_INCREMENT NOT NULL , usr_id INT NOT NULL , prod_id INT NOT NULL , quantity INT NOT
Погуглив, так и не смог толком понять. Есть тут ГУРУ по mysql Которые могут на пальцах или на примере показать для чего она нужна. ...

Пустые строки, Null строки
День добрый, в универе начали изучать C#. В лабе такое задание "Создайте пустую и null строку. Продемонстрируйте что можно выполнить с...

Возвращение null строки
Нужно создать метод смещение элементов строки на определенное количество позиций(key). Возвращает std::bad_alloc. Объявление функции должно...

64
541 / 352 / 194
Регистрация: 07.11.2018
Сообщений: 1,243
25.11.2018, 00:50
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от JIeIIIa Посмотреть сообщение
DimaxDe, так korvin_ прав) О чем Вы спорите?
Цитата Сообщение от korvin_ Посмотреть сообщение
запрос вернёт пять значений — это пять строк в ResultSet'е.
Java
1
2
3
4
5
6
select autor,kniga,dateOfPublic,kniga_id,kniga_price from kniga where autor_id=5;
autor=rs.getString(1);
kniga=rs.getString(2);
dateOfPublic=rs.getDate(3);
kniga_id=rs.getInt(4);
kniga_price=rs.getDouble(5);
Какие 5 строк ?,что есть строка в ResultSet'е?
0
25.11.2018, 00:55

Не по теме:

Только давайте предметно, с примерами и сначала, а то листать туда-сюда, да и еще когда не все понимаешь, запутаюсь.
Так и мне будет что ни будь почерпнуть ))

0
958 / 577 / 136
Регистрация: 23.05.2012
Сообщений: 7,364
25.11.2018, 00:57
DimaxDe, Вы ж о коде с while говорили из этого сообщения. Или я что-то пропустил?
0
541 / 352 / 194
Регистрация: 07.11.2018
Сообщений: 1,243
25.11.2018, 01:48

Не по теме:

Цитата Сообщение от ViktorFX Посмотреть сообщение
Только давайте предметно
Предмет ява? Примеры на яве?Вопрос
Цитата Сообщение от Anton8800 Посмотреть сообщение
При каких случаях строка может быть равна null
Из приведённого примера и дальнейшей дискуссии никто от темы не отходил..Только некоторые всеведующие,правильно одарённые целью дискуссии ставять доказательство некомпетентности собеседника а не поделиться опытом, в связи с чем мы могли отклонится от заданного вопроса.



Добавлено через 45 минут
Цитата Сообщение от JIeIIIa Посмотреть сообщение
Вы ж о коде с while
Изначально речь шла о вопросе заданном автором.Я привел пример из своего опыта, когда мне действительно пришлось узнавать что за строчку мне вернёт ResultSet.Именно тогда строчка была "равна" нулл и мне нужно было её отсеить, потому как присвоить значение String str=""; str=null; невозможно, выкидывает НПЕ.Свою проблему я решил с трай кетчем.Но вот наш правильно одарённый решил доказать,что мой трай неуместен (!несогласен) и лучше использовать Optional.empty()(!интересно) Я посмотрел конструкцию этого метода и думаю ,что проще трай чем этот метод ,но вазможно есть простой способ его имплементации в данном примере ,но собеседник походу слился.Вот короткое описание произошедшего.
0
958 / 577 / 136
Регистрация: 23.05.2012
Сообщений: 7,364
25.11.2018, 01:58
Цитата Сообщение от DimaxDe Посмотреть сообщение
Именно тогда строчка была "равна" нулл и мне нужно было её отсеить
Вы или говорите о другом коде или живете в альтернативной реальности. Приведите еще раз код и в комментарии укажите в какой строке может NPE вылететь.
Цитата Сообщение от DimaxDe Посмотреть сообщение
присвоить значение String str=""; str=null; невозможно, выкидывает НПЕ
Откуда str взялось? С каких пор присваивание строке null вызывает NPE?
Давайте код, который обсуждаем. А то я путаюсь в Ваших умозаключениях.
0
541 / 352 / 194
Регистрация: 07.11.2018
Сообщений: 1,243
25.11.2018, 02:13
Java
1
2
3
4
ResultSet rs=st.executeQuery(sql);
            while(rs.next()) {
                autor=rs.getString(1);
            }
Если в базе данных автора с ид=5 нет ,то autor=rs.getString(1); выкидывает НПЕ.

Добавлено через 1 минуту
String str=""; str=null; да это несовсем правильный пример..
0
958 / 577 / 136
Регистрация: 23.05.2012
Сообщений: 7,364
25.11.2018, 02:36
Цитата Сообщение от DimaxDe Посмотреть сообщение
Если в базе данных автора с ид=5 нет ,то autor=rs.getString(1); выкидывает НПЕ.
То rs будет пустым, и попытка вызвать rs.getString(1); выбросит исключение java.sql.SQLException: Illegal operation on empty result set..
0
541 / 352 / 194
Регистрация: 07.11.2018
Сообщений: 1,243
25.11.2018, 02:44
Цитата Сообщение от JIeIIIa Посмотреть сообщение
попытка вызвать rs.getString(1);
это не попытка вызвать, это попытка сделать ссылку на несуществующий обьект autor=rs.getString(1)
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
25.11.2018, 02:46
JIeIIIa, в его случае rs.next() вернёт false и тело цикла не выполнится.
0
958 / 577 / 136
Регистрация: 23.05.2012
Сообщений: 7,364
25.11.2018, 02:48
Цитата Сообщение от DimaxDe Посмотреть сообщение
autor=rs.getString(1)
NPE Вы тут получите в случае когда rs будет null. Если же запрос ничего не нашел, то получите java.sql.SQLException
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
25.11.2018, 02:48
Цитата Сообщение от DimaxDe Посмотреть сообщение
это попытка сделать ссылку на несуществующий обьект autor=rs.getString(1)
Наркоман, что ли?

сделал ссылку на несуществующий объект.
0
958 / 577 / 136
Регистрация: 23.05.2012
Сообщений: 7,364
25.11.2018, 02:48
korvin_, я понимаю. Допустим как-то в цикл он зашел. Как он там NPE может получить?
0
541 / 352 / 194
Регистрация: 07.11.2018
Сообщений: 1,243
25.11.2018, 02:56
Цитата Сообщение от korvin_ Посмотреть сообщение
Наркоман, что ли?
Цитата Сообщение от korvin_ Посмотреть сообщение
autor=rs.getString(1)
Вы я так понял спать ушли?Нормально
Цитата Сообщение от korvin_ Посмотреть сообщение
тогда и поговорим.
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
25.11.2018, 02:58
Цитата Сообщение от JIeIIIa Посмотреть сообщение
Допустим как-то в цикл он зашел. Как он там NPE может получить?
Никак, конечно же.
0
541 / 352 / 194
Регистрация: 07.11.2018
Сообщений: 1,243
25.11.2018, 03:08
Цитата Сообщение от korvin_ Посмотреть сообщение
Никак, конечно же.
Учите язык,читайте документацию
getString(int columnIndex)
Retrieves the value of the designated column in the current row of this ResultSet object as a String in the Java programming language.

Добавлено через 6 минут
Цитата Сообщение от JIeIIIa Посмотреть сообщение
Допустим как-то в цикл он зашел
Java
1
2
3
4
5
6
select autor,kniga,dateOfPublic,kniga_id,kniga_price from kniga where autor_id=5;
autor=rs.getString(1);
kniga=rs.getString(2);//если тут по дефолту нулл
dateOfPublic=rs.getDate(3);
kniga_id=rs.getInt(4);
kniga_price=rs.getDouble(5)
в цикл зашли НПЕ получили!
0
958 / 577 / 136
Регистрация: 23.05.2012
Сообщений: 7,364
25.11.2018, 03:12
Цитата Сообщение от DimaxDe Посмотреть сообщение
Учите язык,читайте документацию
Уже два человека сказало, что NPE там не будет, а Вам все мало.

String getString(int columnIndex) throws SQLException;
@return the column value; if the value is SQL NULL, the value returned is null
Если в RS что-то есть, то вернет значение; если что-то есть, но поле в БД null, то вернет null; если в RS ничего нет, то выбросит SQLException.

Добавлено через 1 минуту
Цитата Сообщение от DimaxDe Посмотреть сообщение
autor=rs.getString(1);
kniga=rs.getString(2);//если тут по дефолту нулл
Я понял. Вы из альтернативной реальности. Спокойной ночи.
0
541 / 352 / 194
Регистрация: 07.11.2018
Сообщений: 1,243
25.11.2018, 03:17
и вам тогоже
Цитата Сообщение от JIeIIIa Посмотреть сообщение
Я понял. Вы из альтернативной реальности. Спокойной ночи.
Я с этой проблемой столкнулся и пишу по факту как оно было,если интересно попробуйте сами..Полученной информации 0.
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
25.11.2018, 03:21
Цитата Сообщение от DimaxDe Посмотреть сообщение
Учите язык,читайте документацию
Ты глазки-то разуй и прочитай всё полностью. Впрочем, JIeIIIa уже подробно написал.

Добавлено через 54 секунды
Цитата Сообщение от DimaxDe Посмотреть сообщение
Я с этой проблемой столкнулся и пишу по факту как оно было,если интересно попробуйте сами..Полученной информации 0.
Ты столкнулся с другой проблемой, не смог с ней правильно разобраться и теперь выдаёшь желаемое за действительное.
0
541 / 352 / 194
Регистрация: 07.11.2018
Сообщений: 1,243
25.11.2018, 03:24
Цитата Сообщение от korvin_ Посмотреть сообщение
запрос вернёт пять значений — это пять строк в ResultSet'е.
вы мне тоже уже понаписали.Спакойной ночи.
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
25.11.2018, 12:03
DimaxDe,
1. как уже 100 раз сказали выше - ResultSet не кидает NPE. Его вообще при нормальных обстаятельствах никто не кидает.
2. Никогда не стоит делать catch(NullPointerException). Это пример плохого кода.
NPE вообще не должен возникать в программе. Особенно запланированно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.11.2018, 12:03

Невидимый NULL в конце строки
Здравствуйте. По заданию надо написать программу, которая склеивала бы пары слов в новое слово так, чтобы чтобы окончание первого...

Проверка на NULL строки типа Int
Добрый день! в С++ можно сказать второй день Нужно после совершения действий выводить данные что было изменено и на что. ...

заполнить часть строки null символами
привет. для отправки запроса по некоторому протоколу, нужно сформировать запрос так, чтоб его его длина вне зависимости от активных...

JsonConvert.DeserializeObject десериализует строки в null
Приветствую. Использую библиотеку Newtonsoft.Json Проблема в том что при привидении к объекту, свойство NameForm = null, все остальные...

Работа с аргументами командной строки, stream!=null
Пишу прогу, которая будет принимать в качестве аргументов командной строки текстовые файлы, брать из них числа и выводить по порядку. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru