Você está na página 1de 35

|  

  
    
Denis W S Rosa
V  
        
 
§       
      

 
Ñerificar Strings

Ifï  != null && isEmptyï 

G 

IfïisNullOrEmptyï   

  ï
Salvar um arquivo
è è  new èï  
è      new è   ïè
writeï
flushï
closeï

Gom o Guava:

è è  new èï


èÿ ï[ [  
 r Ä
·er um arquivo
   new ï
 
   new  
ï
º
 
   new º
 
ï
! 
   new ! 
ï
Î

  
!   new Î

  
!ï
while ïavailableï " # 
 addïreadLineï


rtilizando o Guava:

List ˜trin!   èreadLinesï


new èï$ %& r 
Œ que é o Google Guava?

A G      


A       !
A " 
       
Documentação

A  ##$$$ #    #% 

A & 
'  (  
 ## % # # )# #( 
Regra Número 1

A r  *import static +


A þ 
,' -G -, -.
G arMatc er

%& '(& (&  %& '(& V  LETTERORIGIT

>Reter͟ os elementos da String:

 )  *+,-./
%0*
(& retainFromï"1234 -  - !@#%"

"     , 

 )  *1 1 "2345
(& removeFromï"1234 -  - !@#%"
G arMatc er
Gontar os elementos:

 )  6
(& countInï"1234 -  - !@#%"

Se todos os elementos da string são do tipo especificado:

)   
(& matches llOfï"VustVava"

Se todos os elementos da string NÌ são do tipo especificado:

)   
(& matchesNoneOfï"?+=@!$%"
G arMatc er

Nada de usar  Para negação, utilize o  :


)  
(& negate().matches llOfï"VustVava"

§estando outros matc ers:

)  */78"5
G arMatc er.V   .
 
(    )

)  *+,-96*
G arMatc er. ().
 
( !"#);
G arMatc er

§ambém é possível compor matc ers:

%& '(&  /:;  %& '(& inRangeï' '$ 'Z'


%& '(& <   %& '(& inRangeï'aµ$'z'
orï /:;
)  *==>*
< retainFromï"VustVava 2011"
Voiner

Ñocê que vive gerando GSÑ vai adorar isto:

<  !   <new rrayListï "haves"$


"hiquinha"$ null$ "Kiko"
)  *%&>$ %&?&$ @A*
= onï", "skipNullsïjoinï

Definindo valores para :

)  *%&>$ %&?&$  ' $ @A*


= onï", "useForNullï"˜eu Madruga"joinï
Voiner

E também funciona com maps! :

'  $ B ! C'  'newHashMapï


C'putï"valor1"$ +
C'putï"valor2"$ ,

)  > +1!+ D > ,1!,


= onï"|"withKeyalue˜eparatorï"=>"joinïC'
Splitter

Split ignorando Strings vazias:

)  E+$,$-$.F
B   ! B 
 onï","omitEmpty˜tringsïsplitï"1,,2,3,,4"

Dividindo em taman os fixos

)  E$ ($ $ &F


 fixedLengthï,trimResultsïsplitï"abcdefgh"
èiles
 '      

èÿ ï[ [  


 r Ä

èreadLinesïnew èï$ %& r 

ècopyï $ new èï(è

èdeleteirectoryontentsï ( 

èdeleteRecursivelyï ( 


Preconditions
public class Pessoa 
enum ˜T TU˜  I , MORT 

public Gï   $   $ H/HI   

<( G (   7 


G (checkNotNullï
<( G ( (   (  C 
G (checkNotNullï$ "O I não pode ser nulo!"
<( B/ (   ( 
G (check rgumentïlengthï >= +$ "I deve ter
ao menos 1 digito"
<( B (   (  
G (check˜tateï == H/HI I 

this  
this  


Œbjects
  ' 

ifï > != null  


return >
  
return "UNKNOWN"


r 

 " ' +   (J"


C(firstNonNullï>$ "UNKNOWN´
Œbjects
=  , 

)  G  =$ +


2 > 
public     ï 
  C(to˜tringHelperïGclass
addï"nome"$ getNomeïï"Id"$
getIdïto˜tringï


=   G

2Override
public int hashodeï 
return C(hashodeï$ 

Gollections

!        /

'  $ < G!! G  new K&'  $


< G!!ï

þ 0  


   ( 12
G3 4   

'  $ < G!! G  'newHashMapï


Gollections

<  !  <  <new rrayListï"valo2"$


"valor2"$ "valor3"

º  




<  !  <  new / <  !ï


 <addï"valo2"
 <addï"valor2"
 <addï"valor3"
Gollections

G§  1    .5.6

H 0$  $ 0!   K&


Hcreateï
putï$ "Pagamento"$ L####
putï$ "ebitos"$ +####
Gonstraints
'   78  §2

 G!   newHash˜etï


M Gï"Voao"$ "1"$
M Gï"Maria"$ "2"


 G! ( G  % constrained˜etï$


% notNullï


''''" <( java.lang.NullPointerException!!
( Gaddïnull
Gonstraints
=       

public class G%  implements %  G! 

public G (&(AïG  

check rgumentï%& '(& V  LETTER


matches llOfïgetNomeï$
"O nome da pessoa são pode conter letras."

return 


Gonstraints

r       

 G! ( G  % constrained˜etï$


new G% ï

 <( java.lang.Illegal rgumentException  


  N  (  
( Gaddïnew Gï"Voao2"$ "3"
èunctions
A è   

G  


 9 

è( G$  ! è( 


new è( G$  !ï 

2 > 
public   applyïG  
return getIdï


èunctions

r     

< G!   <new rrayListï


new Gï"Voao"$ "1"$
new Gï"Maria"$ "2"


) E+$ ,F
<  ! <  <transformï$ è(

< 7 ( 8   E+$ ,$ -F


addïnew Gï"Manuel"$ "3"
Predicates
è  -9  -G  :
.  ;  

G   9 

G ( G! (%'  new G ( G! ï

public boolean ïG  


return getNomeïtoUpperaseï
startsWithï"M"Otrue false


Predicates

r     

G    new Gï"Maria"$ "2"


 G!   newHash˜etï
new Gï"Voao"$ "1"$
 $
new Gï"Manoel"$ "3"


   EG' $ B,$ G'$ B-F


 G!  G  filterï$
(%'
Predicates

,2;   


G. 
' 9 

*G +
Predicates

.    

 <  7 7 8  EG' $


 B,$ G'$ B-$G=$ B+F
 Gaddï 

 G 7    ( 7 ? N (( ( 


   '  >M

'''""" java.lang.Illegal rgumentException
 Gaddïnew Gï"Voãozinho"$ "4"
Predicates

;  '  

B anyï$ (%'


Îgradecimentos

A Min a èamilia;
A Daniel Yokomizo;
Gontato

deniswsrosa@gmail.com