Coisas do Java que eu não entendo  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
sergiotaborda
GUJ Expert
[Avatar]

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
[WWW]
julianostr
GUJ Ranger
[Avatar]

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
otaviofcs
Virtual Machine Man
[Avatar]

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
[WWW]
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
[Email] [MSN]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team