powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / LocaleData
12 сообщений из 12, страница 1 из 1
LocaleData
    #38487920
Shut_down
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужна помощь.

Есть такой код:

...
Locale loc = new Locale( "ru", "RU" ) ;

ResourceBundle bundle = sun.util.resources.LocaleData.getNumberFormatData( loc ) ;
String numberElements[] = bundle.getStringArray( "NumberElements" ) ;
...

На компиляции получаем ошибку:

error: cannot find symbol
ResourceBundle bundle = sun.util.resources.LocaleData.getNumberFormatData( loc ) ;
symbol: class LocaleData
location: package sun.util.resources

Смотрим в JDK 1.7:

rt.jar\sun.util.resources.LocaleData.class

т.е. класс в библиотеке есть. Единственное в чем я тут не уверен - в списке классов показываются только public-классы или нет..

Работаю в NetBeans 7.1.1. В версии 7.4 ошибка появляется еще при написании кода.
...
Рейтинг: 0 / 0
LocaleData
    #38487930
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может NetBeans явно запрещает sun.* использовать? Что там такого вы пытаетесь получить, что штатными средствами не доступно?
...
Рейтинг: 0 / 0
LocaleData
    #38487957
Shut_down
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

> Может NetBeans явно запрещает sun.* использовать?

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


> Что там такого вы пытаетесь получить, что штатными средствами не доступно?

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

Но это не так важно, меня не приятно удивил сам факт: все вроде должно работать, а не работает.. где следующий раз такое вылезет?! Не плохо было бы разобраться заранее..
...
Рейтинг: 0 / 0
LocaleData
    #38487960
Shut_down
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по поводу моей фразы:
> Единственное в чем я тут не уверен - в списке классов показываются только public-классы или нет..

Думаю что, во всяком случае этот, класс является public т.к. в NumerFormat усть код его использующий:

import sun.util.resources.LocaleData;
...
private static NumberFormat getInstance(Locale desiredLocale, int choice)
{
...
ResourceBundle resource = LocaleData.getNumberFormatData(desiredLocale);
...
}
...
Рейтинг: 0 / 0
LocaleData
    #38487977
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shut_downДумаю - нет. Я создал маленький тестовый проект и попробовал откомпилировать его через командную строку - результат тот же.

Прикольно. А в идее компиляется.

Shut_down Я пытался выставить для локали по умолчанию свой разделитель дробной и целой части и разделитель групп разрядов.

java.text.DecimalFormatSymbols ?


Shut_down Но это не так важно, меня не приятно удивил сам факт: все вроде должно работать, а не работает.. где следующий раз такое вылезет?! Не плохо было бы разобраться заранее..
sun.*
com.sun.*
внутренние пакеты не предназначеные для использования.
...
Рейтинг: 0 / 0
LocaleData
    #38488708
Shut_down
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczПрикольно. А в идее компиляется.


Версия Java? У меня jdk1.7.0_09. Есть подозрение, что что-то поменяли в библиотеке. Но огда возникает вопрос: а что же мне показывает NetBeans?

Blazkowiczjava.text.DecimalFormatSymbols ?


Можно и так, но гемора больше: надо создать экземпляр с нужными настройками, потом его как-то всюду передавать и не забывать использовать, а локаль выставил и забыл.

Blazkowiczsun.*
com.sun.*
внутренние пакеты не предназначеные для использования.


Откуда это известно? Класс есть в библиотеке, он используется в других классах библиотеки, по нему есть документация, но конечному пользователю ипользовать его нельзя?! Хотелось бы увидеть как это сделано.

Я этот код не сам придумал, я его где-то на форумах нарыл т.е. когда-то он работал..
...
Рейтинг: 0 / 0
LocaleData
    #38488726
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shut_downВерсия Java? У меня jdk1.7.0_09. Есть подозрение, что что-то поменяли в библиотеке. Но огда возникает вопрос: а что же мне показывает NetBeans?

Версия не при чем. И в 6ке и в 7ке с командной строки не компилируется.

Shut_down Можно и так, но гемора больше: надо создать экземпляр с нужными настройками, потом его как-то всюду передавать и не забывать использовать, а локаль выставил и забыл.

Хачить так глобально... Можно попробовать завести свою локаль в проекте и её использовать. :)
Можно даже попробовать просто через SPI зарегистрировать нужную локаль:
http://docs.oracle.com/javase/6/docs/api/java/util/spi/LocaleServiceProvider.html


Shut_downBlazkowiczsun.*
com.sun.*
внутренние пакеты не предназначеные для использования.

Откуда это известно?

Эээ, ну-помоему в каждой книжке для начинающих написано. Странно как это мимо вас прошло.
Начать хотя бы с того, что этих классов нет в JavaSE API документации:
http://docs.oracle.com/javase/7/docs/api/index.html

Shut_downКласс есть в библиотеке, он используется в других классах библиотеки,

Там много чего есть.

Shut_downпо нему есть документация,

Где?

Shut_downно конечному пользователю ипользовать его нельзя?!
Можно. Но не рекомендуется.

Shut_downЯ этот код не сам придумал, я его где-то на форумах нарыл т.е. когда-то он работал..
Дык он и сейчас работает, если повозиться с опциями javac.
...
Рейтинг: 0 / 0
LocaleData
    #38488739
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
LocaleData
    #38488743
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот так компилируется из командной строки
javac -bootclasspath %JDK_HOME%\jre\lib\rt.jar Test.java
...
Рейтинг: 0 / 0
LocaleData
    #38488956
Shut_down
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczХачить так глобально...


Ну почему сразу "хачить"? Я действительно не знал, что в основной библиотеке Java есть классы, поддержка которых не гарантирована и поэтому они не рекомендуются к использованию.

BlazkowiczЭээ, ну-помоему в каждой книжке для начинающих написано. Странно как это мимо вас прошло.


Читал от "корки-до-корки" Эккеля "Философия Java" и как справочник пользую Хорстмана "Java 2. Библиотека профессионала".
Может не внимательно читал, но не помню упоминания о подобных классах..


BlazkowiczМожно попробовать завести свою локаль в проекте и её использовать. :)
Можно даже попробовать просто через SPI зарегистрировать нужную локаль:
http://docs.oracle.com/javase/6/docs/api/java/util/spi/LocaleServiceProvider.html


Я подумывал о таком варианте. Но во-первых: он сложнее, а во-вторых: чем он так сильно отличается от моего? Я, по факту, создал собственную локаль, только не с нуля, а на основе уже существующей.

BlazkowiczShut_downпо нему есть документация,

Где?


Напрмер тут:
http://www.docjar.com/docs/api/sun/util/resources/LocaleData.html

Хотя это, конечно, не официальный ресурс. Но у меня и тот же NetBeans показывает структуру, если встать на класс в библиотеке проекта..


BlazkowiczДык он и сейчас работает, если повозиться с опциями javac.

Вот так компилируется из командной строки
javac -bootclasspath %JDK_HOME%\jre\lib\rt.jar Test.java


Спасибо, действительно работает. Я, честно говоря, до этого со строкой практически не работал..
Если не трудно просветите - что собственно изменилось? То, что Вы явно прописали путь к библиотеке я понял, но в ней (библиотеке) кроме sun.* и т.п. содержатся и вполне "легальные" пакеты, собственно, там собраны все основные классы. Если раньше компилятор ее не видел, то как он вообще хоть что-то мог откомпилировать?
...
Рейтинг: 0 / 0
LocaleData
    #38488998
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нарыл ответ почему классы из rt.jar не находятся:
http://stackoverflow.com/a/4070685
И коментарий о том что так и должно быть:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6778491
...
Рейтинг: 0 / 0
LocaleData
    #38489055
Shut_down
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczНарыл ответ почему классы из rt.jar не находятся:


Спасибо интересная информация. Это, заодно, и ответ на мой вопрос: "как работает javac без rt.jar".
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / LocaleData
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]