|
|
|
java основы
|
|||
|---|---|---|---|
|
#18+
как узнать тип "примитивной" переменной? есть ли для примитивных типов аналог getClass().getName() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 13:40:32 |
|
||
|
java основы
|
|||
|---|---|---|---|
|
#18+
int.class.getName() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 13:43:09 |
|
||
|
java основы
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUsint.class.getName() Код: plaintext 1. почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 13:47:52 |
|
||
|
java основы
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUsint.class.getName() Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 13:54:06 |
|
||
|
java основы
|
|||
|---|---|---|---|
|
#18+
Издеваешься? А в каком месте ты потерял тип примитива что тебе надо его найти? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 13:54:10 |
|
||
|
java основы
|
|||
|---|---|---|---|
|
#18+
int intgr = 1; Object o = (Object)intgr; o.getClass().getName(); должно прокатить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 13:56:10 |
|
||
|
java основы
|
|||
|---|---|---|---|
|
#18+
BlazkowiczИздеваешься? А в каком месте ты потерял тип примитива что тебе надо его найти?во первых просто интересно, а во вторых Код: plaintext 1. 2. 3. или я чего то вообще не понимаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 13:58:44 |
|
||
|
java основы
|
|||
|---|---|---|---|
|
#18+
точенее на a[7] а a[6], поидее должен быть null ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 13:59:42 |
|
||
|
java основы
|
|||
|---|---|---|---|
|
#18+
Dremmmmint intgr = 1; Object o = (Object)intgr; o.getClass().getName(); должно прокатить Будет класс обертки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 14:01:21 |
|
||
|
java основы
|
|||
|---|---|---|---|
|
#18+
fjordточенее на a[7] а a[6], поидее должен быть null Пятница.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 14:01:58 |
|
||
|
java основы
|
|||
|---|---|---|---|
|
#18+
fjord BlazkowiczИздеваешься? А в каком месте ты потерял тип примитива что тебе надо его найти?во первых просто интересно, И так же бессмысленно. fjord а во вторых Код: plaintext 1. 2. 3. или я чего то вообще не понимаю? a[0] - a[5] имеют тип int это и так ясно. Хотя его можно получить как a.getComponentType() a[6] и выше типа не имеют потому что их не существует. 8) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 14:04:13 |
|
||
|
java основы
|
|||
|---|---|---|---|
|
#18+
fjordточенее на a[7] а a[6], поидее должен быть null a[7] и a[6] по идее будет ArrayIndexOutOfBounds А null это не тип, а значение по умолчанию. Только у int оно 0, а не null ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 14:05:34 |
|
||
|
java основы
|
|||
|---|---|---|---|
|
#18+
mozheyko_d fjordточенее на a[7] а a[6], поидее должен быть null Пятница.... fjord-у больше не наливать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 14:06:02 |
|
||
|
java основы
|
|||
|---|---|---|---|
|
#18+
Blazkowicz fjordточенее на a[7] а a[6], поидее должен быть null a[7] и a[6] по идее будет ArrayIndexOutOfBounds А null это не тип, а значение по умолчанию. Только у int оно 0, а не nullи я так думал, но почему Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 0 1 4 9 0 0 меня смутили эти два последних нуля ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 14:11:44 |
|
||
|
java основы
|
|||
|---|---|---|---|
|
#18+
fjord Blazkowicz fjordточенее на a[7] а a[6], поидее должен быть null a[7] и a[6] по идее будет ArrayIndexOutOfBounds А null это не тип, а значение по умолчанию. Только у int оно 0, а не nullи я так думал, но почему Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 0 1 4 9 0 0 меня смутили эти два последних нуля У Вас первый цикл заполнения до 4, а не до 6 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 14:18:24 |
|
||
|
java основы
|
|||
|---|---|---|---|
|
#18+
в том то и дело что массив заполняется до 4, и по идее пятый элемент должен быть null, но выдается 0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 14:25:34 |
|
||
|
java основы
|
|||
|---|---|---|---|
|
#18+
fjordв том то и дело что массив заполняется до 4, и по идее пятый элемент должен быть null, но выдается 0 Да что гадать, Вы возьмите, да проверьте, не заполняйте его вовсе - выводите сразу и увидите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 14:27:19 |
|
||
|
java основы
|
|||
|---|---|---|---|
|
#18+
fjordв том то и дело что массив заполняется до 4, и по идее пятый элемент должен быть null, но выдается 0 100 пудов, надо лучше книжки читать Blazkowicz правильно писал "null это не тип, а значение по умолчанию. Только у int оно 0, а не null" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 14:33:05 |
|
||
|
java основы
|
|||
|---|---|---|---|
|
#18+
mozheyko_d fjordв том то и дело что массив заполняется до 4, и по идее пятый элемент должен быть null, но выдается 0 Да что гадать, Вы возьмите, да проверьте, не заполняйте его вовсе - выводите сразу и увидите ага, если не заполнять массив то все его элементы будут равны 0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 14:36:06 |
|
||
|
java основы
|
|||
|---|---|---|---|
|
#18+
fjord mozheyko_d fjordв том то и дело что массив заполняется до 4, и по идее пятый элемент должен быть null, но выдается 0 Да что гадать, Вы возьмите, да проверьте, не заполняйте его вовсе - выводите сразу и увидите ага, если не заполнять массив то все его элементы будут равны 0 А если заполнить частично, оставшиеся должны быть null? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 14:37:42 |
|
||
|
java основы
|
|||
|---|---|---|---|
|
#18+
Dremmmm fjordв том то и дело что массив заполняется до 4, и по идее пятый элемент должен быть null, но выдается 0 100 пудов, надо лучше книжки читать Blazkowicz правильно писал "null это не тип, а значение по умолчанию. Только у int оно 0, а не null"так я и читаю )) и по ходу чтения возникают вопросы получается что Код: plaintext Код: plaintext 1. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 14:41:45 |
|
||
|
java основы
|
|||
|---|---|---|---|
|
#18+
http://java.sun.com/docs/books/jls/second_edition/html/arrays.doc.html#25959 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 14:48:26 |
|
||
|
java основы
|
|||
|---|---|---|---|
|
#18+
fjord... получается что Код: plaintext ... нет, не получается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 14:49:16 |
|
||
|
java основы
|
|||
|---|---|---|---|
|
#18+
fjord Код: plaintext Читайте Мугала и Гослинга (Гослин, Арнольд и кто-то еще). Локальные переменные не инициализируются. Инициализируются поля класса нулевыми значениями. Также нулевыми значениями инициализируются элементы массива при его создании. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 14:50:52 |
|
||
|
java основы
|
|||
|---|---|---|---|
|
#18+
fjord Dremmmm fjordв том то и дело что массив заполняется до 4, и по идее пятый элемент должен быть null, но выдается 0 100 пудов, надо лучше книжки читать Blazkowicz правильно писал "null это не тип, а значение по умолчанию. Только у int оно 0, а не null"так я и читаю )) и по ходу чтения возникают вопросы получается что Код: plaintext Код: plaintext 1. Код: plaintext при объявлении переменной типа int в классе она инициализируется нулем, при объявлении массива int они инициализируются нулями, при объявлении локальной переменной int (внутри метода) она инициализируется случайным значением, мусором, бывшим в памяти при выделении места под переменную, и чтобы избежать ошибок, компилятор проверяет, чтобы это "случайное значение" не использовалось. В книгах все это давно описано. Читать, читать и читать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 14:51:34 |
|
||
|
java основы
|
|||
|---|---|---|---|
|
#18+
все понял. всемо спасибо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 14:51:45 |
|
||
|
java основы
|
|||
|---|---|---|---|
|
#18+
fjordтак я и читаю )) и по ходу чтения возникают вопросы получается что Код: plaintext Код: plaintext 1. Код: plaintext А ты ещё спецификацию скачай и полистай на досуге. Поля инитятся значениями по умолчанию. Элементы массива тоже. А вот локальные переменные значениями по умолчанию не инитятся. Вот всё. А ты сразу как загнул про "тип примитивной переменной". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 14:52:15 |
|
||
|
java основы
|
|||
|---|---|---|---|
|
#18+
Зашедшийпри объявлении локальной переменной int (внутри метода) она инициализируется случайным значением, мусором, бывшим в памяти при выделении места под переменную Откуда дровишки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 14:53:48 |
|
||
|
java основы
|
|||
|---|---|---|---|
|
#18+
авторОткуда дровишки? Тоже интересно почитать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 15:08:22 |
|
||
|
java основы
|
|||
|---|---|---|---|
|
#18+
Blazkowicz Зашедшийпри объявлении локальной переменной int (внутри метода) она инициализируется случайным значением, мусором, бывшим в памяти при выделении места под переменную Откуда дровишки? Собственно в спецификации JVM это никак не упоминается, там просто выставлено ограничение на использование неинициализированных локальных переменных, но был такой баг в Symantec JIT-compiler. Последний позволял через редактирование байт-кода использовать неинициализированные локальные переменные, в том числе, например, и ссылки на объекты. В итоге указатели показывали куда попало. Баг починили, конечно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 15:22:34 |
|
||
|
java основы
|
|||
|---|---|---|---|
|
#18+
Вроде про это как раз: Some remarks: 1. I use boolean, and for 32-bit-values double checking is ok, even in the link. 2. The inspection do not bother me, they reports too many warnings. But we have the goal to get only green code without warnings. And since 833 it reports doublechecking. 3. The JVM-Spec requires that its not allowed to use a noninitialized object, it do not allow a use (= a store) of this uninitialized object http://java.sun.com/docs/books/vmspec/2nd-edition/html/ClassFile.doc.html#9839 I've tested it (with bcel): the byte code verifier refuse with an "Expecting to find object/array on stack"-exception, if you try to store an object to a field before the initialization: new #1 // java.lang.Object dup putstatic #2 // a static field invokespecial #1 // Constructor Same with nonstatic fields, but ok with local variables (because that cant be accessed from another thread [or threat ;-) ]) So the Symantec JIT-compiler is not correct. Consider, if the constructor takes long value, you may access the object before initialization, or with malicious byte code you can create invalid strings (place in the bytecode between new and invokespecial a Thread.sleep which is ok). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 15:25:14 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2146834]: |
0ms |
get settings: |
11ms |
get forum list: |
28ms |
check forum access: |
8ms |
check topic access: |
8ms |
track hit: |
54ms |
get topic data: |
19ms |
get forum data: |
3ms |
get page messages: |
90ms |
get tp. blocked users: |
2ms |
| others: | 286ms |
| total: | 509ms |

| 0 / 0 |
