1310

Capítulo 30 Cadenas, caracteres y expresiones regulares

La expresión 

String.valueOf( arregloChar )

 en la línea 18 utiliza el arreglo de caracteres 

arregloChar

 

para crear un nuevo objeto 

String

. La expresión 

String.valueOf( arregloChar, 3, 3 )

 de la línea 20 utiliza 

una porción del arreglo de caracteres 

arregloChar

 para crear un nuevo objeto 

String

. El segundo argumento 

especifi ca el índice inicial a partir del cual se van a utilizar caracteres. El tercer argumento especifi ca el número 
de caracteres a usar. 

Existen otras siete versiones del método 

valueOf

, las cuales toman argumentos de tipo 

boolean

char

int

long

float

double

 y 

Object

, respectivamente. Estas versiones se muestran en las líneas 21 a 30. Observe que la 

versión de 

valueOf

 que recibe un objeto 

Object

 como argumento puede hacerlo debido a que todos los objetos 

Object

 pueden convertirse en objetos 

String

 mediante el método 

toString

.

[

Nota: en las líneas 12 y 13 se utilizan los valores literales 

10000000000L

 y 

2.5f

 como valores iniciales de la 

variable 

valorLong

 tipo 

long

 y de la variable 

valorFloat

 tipo 

float

, respectivamente. De manera predetermina-

da, Java trata a las literales enteras como tipo 

int

 y a las literales de punto fl otante como tipo 

double

. Si se anexa 

la letra 

L

 a la literal 

10000000000

 y se anexa la letra 

f

 a la literal 

2.5

, se indica al compilador que 

10000000000

 

 1 

// Fig. 30.9: StringValueOf.java

2

// Métodos valueOf de String.

 3 
 4 

public class

 StringValueOf 

 5 

{

 6  

public static void 

main( String args[] )

 7  

{

 8   

char

 arregloChar[] = { 

'a'

,

'b'

,

'c'

,

'd'

,

'e'

,

'f'

 };

 9   

boolean

 valorBoolean = 

true

;

 10  

 

char

 valorCaracter = 

'Z'

;

 11  

 

int

 valorEntero = 

7

;

 12  

 

long

 valorLong = 

10000000000L

;

// el sufijo L indica long

13   

float

 valorFloat = 

2.5f

;

// f indica que 2.5 es un float

14   

double

 valorDouble = 

33.333

;

// no hay sufijo, double es el predeterminado

15   

Object refObjeto = 

"hola"

;

// asigna la cadena a una referencia Object

16

 17  

 

System.out.printf(

 

18    

"arreglo de valores char = %s\n"

, String.valueOf( arregloChar ) );

 19  

 

System.out.printf(

"parte del arreglo char = %s\n"

,

 

20    

String.valueOf( arregloChar, 

3

,

3

 ) );

 21  

 

System.out.printf(

 

22    

"boolean = %s\n"

, String.valueOf( valorBoolean ) );

 23  

 

System.out.printf(

 

24    

"char = %s\n"

, String.valueOf( valorCaracter ) );

 25  

 

System.out.printf(

"int = %s\n"

, String.valueOf( valorEntero ) );

 26  

 

System.out.printf(

"long = %s\n"

, String.valueOf( valorLong ) ); 

 27  

 

System.out.printf(

"float = %s\n"

, String.valueOf( valorFloat ) ); 

 28  

 

System.out.printf(

 

29    

"double = %s\n"

, String.valueOf( valorDouble ) ); 

 30  

 

System.out.printf(

"Object = %s\n"

, String.valueOf( refObjeto ) );

 31  

}

// fin de main

32

}

// fin de la clase StringValueOf

Figura 30.9

  |  Métodos 

valueOf

 de la clase 

String

.

arreglo de valores char = abcdef
parte del arreglo char = def
boolean = true
char = Z
int = 7
long = 10000000000
float = 2.5
double = 33.333
Object = hola

30_MAQ_CAP_30_DEITEL.indd1310

5/8/084:22:36PM