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