| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/11/2007 17:30:52
|
sergiotaborda
GUJ Expert
![[Avatar]](/images/avatar/b4a0e0fbaa9f16d8947c49f4e610b549.png)
Membro desde: 22/03/2005 20:57:48
Mensagens: 3433
Offline
|
otaviofcs wrote: Só que Java não é feito de coerência nem de simplicidade. Meu exemplo é sempre o objeto Date. O que é o objeto Date? Coisa ridícula, perdida, que necessita do Calendar, do SimpleDateFormat para dar funcionalidades mínimas. E o java.sql.Date? Porque existe um primitivo para long e não um para Date?
O negócio do Java é criar um padrão e levar ele até o fim. Se criaram errado, paciência. Por outro lado, a compatibilidade pra trás aproxima as empresas. Tudo isso se aplica fortemente ao substring.
Java tem sim um padrão e é simples ( se entender o padrão, claro)
Para cada Objecto de Dados Não String existe um Objecto de Formatação I18N
Number -> NumberFormat
Date -> DateFormat
Fora que formatar datas é muito mais complexo que formatar números.
Calendar não é apenas necessário é vital. Sem ele Java não seria realmente I18N. Tudo bem que tem as suas idiossincrasias e por isso mesmo vem ai um nova API para colmatar as falhas.
Do ponto de vista do SQL , java.util.Date seria um DateTime , por isso é preciso um objeto que guarde apenas datas java.sql.Date , apenas tempos java.sql.Time e os dois java.sql.Timestamp. Os três heram de util.Date mas concatenam os valores para que haja uma maior coerencia de tipos.
Porque não existe um tipo primitivo para Date ? Pelo mesmo motivo que não existe para String.( Date é um objeto composto de inteiros como String de char. Ou seja, não são primitivos)
Todos os objetos do java têm a sua função. Alguns poderiam ter uns contratos melhores, mas a necessidade da sua existência é indiscutivel.
|
Criando sua própria API de Validação
Blog do MiddleHeaven |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/11/2007 19:11:08
|
julianostr
GUJ Ranger
![[Avatar]](/images/avatar/ca7e09eacf1ae34bc819d495c5adfed9.jpg)
Membro desde: 31/03/2006 14:16:14
Mensagens: 855
Localização: Blumenau - SC
Offline
|
E o substr do Oracle, também utilizado em blocos ou arquivos PL/SQL:
SQL> select substr('juliano',1,2) from dual;
SU
--
ju
1 row selected.
SQL> select substr('juliano',0,2) from dual;
SU
--
ju
1 row selected.
SQL> select substr('juliano',13,1) from dual;
S
-
1 row selected.
SQL> select substr('juliano',-10,100) from dual;
S
-
1 row selected.
SQL> select substr('123',1,5) from dual;
SUB
---
123
1 row selected.
SQL> select substr('123',1) from dual;
SUB
---
123
1 row selected.
|
LASER
Light Amplification by Stimulated Emission of Radiation |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/11/2007 22:42:58
|
otaviofcs
Virtual Machine Man
![[Avatar]](/images/avatar/2509e9380eb3623ef61046dcd190275d.jpg)
Membro desde: 21/12/2006 18:01:54
Mensagens: 511
Localização: Rio de Janeiro
Offline
|
Prezado mister_m,
Eu sei o que é um objeto Date, o que faltou foi uma representação de sarcasmo tipo .
mister__m wrote:
otaviofcs wrote:O que é o objeto Date?
Um número de milissegundos desde 01/01/1970.
mister__m wrote:
otaviofcs wrote:que necessita do Calendar, do SimpleDateFormat para dar funcionalidades mínimas
Calendar deveriiiiiiiia suportar múltiplos sistemas de calendário, como chinês ou coptic. Formatação é normalmente um assunto mais complexo mesmo, aí discordo de você. O toString() de Date deveria ser suficiente.
discorda não, concorda. Concorda que o objeto date deveria ser minimamente funcional ou apenas armazenar os milisegundos sem fazer mais nada. Do jeito que foi feito, virou zé da cuica
mister__m wrote:
otaviofcs wrote:E o java.sql.Date?
sql.Date é uma data "humana" com dia, mês e ano somente. Existe porque nada mais no Java representa isso.
otaviofcs wrote:Porque existe um primitivo para long e não um para Date?
Porque não existia no C++ nem o Gosling conseguia ver a necessidade de um primitivo. O que não deveria existir são os tipos primitivos e não o contrário.
otaviofcs wrote:O negócio do Java é criar um padrão e levar ele até o fim. Se criaram errado, paciência.
Também sei o que é um java.sql.Date, mas a existência do mesmo é algo estúpido! E quanto a existência de primitivos, para mim ou tem todos os básicos (e aí tem que ter o date) ou era melhor não ter. Esse era meu ponto.
Escreverei melhor na próxima vez para não deixar dúvidas do que penso  .
abraços,
otávio
|
visite o blog da Riopro em:
http://blog.riopro.com.br
Aumente a capacidade de inovação na sua empresa usando o Zest:
http://zest.com.br
Conheça também:
http://votebolsa.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/11/2007 23:44:36
|
paulohrl
Virtual Machine Man
Membro desde: 12/01/2007 23:35:34
Mensagens: 611
Offline
|
Concordo que soa estranho o fato de um ser inclusive o outro exclusive, mas a explicação de ser pela posição do cursos foi a melhor de todas, senão a única real explicação, ja que a maioria só repetiu como funciona.
Que fique claro que isso não é uma crítica ao post de ninguém, mas um elogio ao do shison.
Abraços
|
|
|
 |
|
|
|
|