Каково различие между импортом java.util.*; и импорт java.util. Дата;?

Нет. Приложения Java могут аварийно завершить работу из-за проблем с памятью. Хотя в Java есть встроенное управление памятью, оно ни в коем случае не идеально. Просто для вас проделана большая тяжелая работа.

Как упоминалось в некоторых других ответах, Java имеет довольно специфическую систему выделения памяти, которая включает в себя довольно много ручного управления, и на самом деле довольно легко исчерпать это распределение, если вы не осторожны и не он настроен правильно для вашего приложения.

(См. Параметры -Xmx и -Xms для Java)

8
задан rink.attendant.6 22 July 2014 в 22:25
поделиться

5 ответов

Возможно, у вас есть какой-то другой класс "Date", импортированный где-то (или у вас есть класс Date в вашем пакете, который не нужно импортировать). С «import java.util. *» Вы используете «другую» дату. В этом случае лучше явно указать java.util.Date в коде.

Или, лучше, постарайтесь не называть классы «Date».

12
ответ дан 5 December 2019 в 07:11
поделиться

Реализация toString () java.util.Date не зависит от способа импорта класса. Он всегда возвращает хорошо отформатированную дату.

Как вы видите, toString () исходит из другого класса.

Конкретный импорт имеет приоритет над импортом с подстановочными знаками.

в данном случае

import other.Date
import java.util.*

new Date();

относится к other.Date , а не java.util.Date .

Странно то, что

import other.*
import java.util.*

должен выдать ошибку компилятора о том, что ссылка на Date неоднозначна, потому что оба other.Date и java.util.Date соответствует.

5
ответ дан 5 December 2019 в 07:11
поделиться
but what I got is something like this: Date@124bbbf  
while I change the import to: import java.util.Date;  
the code works perfectly, why? 

Что вы имеете в виду под «отлично работает»? Результат печати объекта Date будет одинаковым независимо от того, импортировали ли вы java.util. * Или java.util.Date. Вывод, который вы получаете при печати объектов, - это представление объекта методом toString () соответствующего класса.

0
ответ дан 5 December 2019 в 07:11
поделиться

Ваша программа должна точно так же работать с import java.util. *; или import java.util.Date; . В промежутке должно быть что-то еще, что вы сделали.

2
ответ дан 5 December 2019 в 07:11
поделиться
import java.util.*;

импортирует все в java.util, включая класс Date.

import java.util.Date;

просто импортирует класс Date.

Выполнение любого из этих действий не может иметь никакого значения.

4
ответ дан 5 December 2019 в 07:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: