|
| object[] to String Fra : bah |
Dato : 14-11-01 18:58 |
|
Hej! jeg har nogen stringe i en object[] array. Jeg kan godt hive dem ud med
toString(). Men det jeg får, er ikke den rigtige string men en kode for den
string. Er der nogen der ved hvordan man får den reelle String ud af object
og ikke en java repræsentation af Stringen?
Mvh/Emil
| |
Martin Ehmsen (14-11-2001)
| Kommentar Fra : Martin Ehmsen |
Dato : 14-11-01 19:10 |
|
bah wrote:
> Hej! jeg har nogen stringe i en object[] array. Jeg kan godt hive dem
ud med
> toString(). Men det jeg får, er ikke den rigtige string men en kode
for den
> string. Er der nogen der ved hvordan man får den reelle String ud af
object
> og ikke en java repræsentation af Stringen?
Du skal typecaste dine objekter, fx med følgende:
String element = (String) objectarray[i];
Mvh.
Martin Ehmsen
--
"Life is good for only two things,
discovering mathematics and teaching mathematics"
Siméon Poisson
| |
Jonas Kongslund (14-11-2001)
| Kommentar Fra : Jonas Kongslund |
Dato : 14-11-01 21:22 |
|
on Wednesday 14 November 2001 19:09, Martin Ehmsen <thames@get2net.dk>
wrote:
> Du skal typecaste dine objekter, fx med følgende:
> String element = (String) objectarray[i];
Dette er ikke nødvendigt pga. polymorfi og det faktum at alle metoder i
Java er virtuelle. Test selv med denne klasse.
public class Main
{
public static void main(String[] args)
{
Object[] objects = {"Dette", "er", "en", "test"};
for (int i=0; i<objects.length; i++) {
System.out.println(objects[i]);
}
}
}
--
Jonas Kongslund <jonas(at)kongslund.dk> XNS: =Jonas Kongslund
Digital Rights - raising awareness of rights in the digital world
http://www.digitalrights.dk
| |
Martin Ehmsen (14-11-2001)
| Kommentar Fra : Martin Ehmsen |
Dato : 14-11-01 21:32 |
|
Jonas Kongslund wrote:
> on Wednesday 14 November 2001 19:09, Martin Ehmsen
<thames@get2net.dk>
> wrote:
>
>> Du skal typecaste dine objekter, fx med følgende:
>> String element = (String) objectarray[i];
>
> Dette er ikke nødvendigt pga. polymorfi og det faktum at alle metoder
i
> Java er virtuelle. Test selv med denne klasse.
Dette er jeg udemærket klar over.
Men i andre situationer og af andre grunde kan du blive nødt til at
typecaste for at kunne tilgå nogle metoder.
Grunden til at dit eksempel går godt, er at alle klasser arver Objects
toString() metode.
Hvis du havde følgende:
Object[] array = {new MinKlasse(1), new MinKlasse(2),...,new
MinKlasse(n)};
array[2].minMetode();
Så vil du få en fejl.
Mvh.
Martin Ehmsen
--
"Life is good for only two things,
discovering mathematics and teaching mathematics"
Siméon Poisson
| |
Jonas Kongslund (14-11-2001)
| Kommentar Fra : Jonas Kongslund |
Dato : 14-11-01 21:42 |
|
on Wednesday 14 November 2001 21:31, Martin Ehmsen <thames@get2net.dk>
wrote:
> Grunden til at dit eksempel går godt, er at alle klasser arver Objects
> toString() metode.
Var det ikke også det spørgeren spurgte om eller har jeg misforstået hans
spørgsmål?
--
Jonas Kongslund <jonas(at)kongslund.dk> XNS: =Jonas Kongslund
Digital Rights - raising awareness of rights in the digital world
http://www.digitalrights.dk
| |
Martin Ehmsen (14-11-2001)
| Kommentar Fra : Martin Ehmsen |
Dato : 14-11-01 21:47 |
|
Jonas Kongslund wrote:
>> Grunden til at dit eksempel går godt, er at alle klasser arver
Objects
>> toString() metode.
>
> Var det ikke også det spørgeren spurgte om eller har jeg misforstået
hans
> spørgsmål?
Jeg er bange for at du har misforstået ham. Han har prøvet toString()
på sine objekter, men vil gerne have det oprindelige String objekt og
ikke en ny repræsentation af sit String objekt.
Martin Ehmsen
--
"Life is good for only two things,
discovering mathematics and teaching mathematics"
Siméon Poisson
| |
Christian Holm (15-11-2001)
| Kommentar Fra : Christian Holm |
Dato : 15-11-01 02:26 |
|
"Martin Ehmsen" <thames@get2net.dk> wrote in message
news:9sul79$gcu$1@sunsite.dk...
> Jeg er bange for at du har misforstået ham. Han har prøvet toString()
> på sine objekter, men vil gerne have det oprindelige String objekt og
> ikke en ny repræsentation af sit String objekt.
Er String ikke immutable? Så
objects[i].toString() er det samme som (String) objects[i]
Christian
| |
Martin Ehmsen (15-11-2001)
| Kommentar Fra : Martin Ehmsen |
Dato : 15-11-01 10:26 |
|
Christian Holm wrote:
> "Martin Ehmsen" <thames@get2net.dk> wrote in message
> news:9sul79$gcu$1@sunsite.dk...
>> Jeg er bange for at du har misforstået ham. Han har prøvet toString()
>> på sine objekter, men vil gerne have det oprindelige String objekt og
>> ikke en ny repræsentation af sit String objekt.
>
> Er String ikke immutable? Så
Jo
> objects[i].toString() er det samme som (String) objects[i]
Nej, det vil være en ny String (med samme indhold) men med en ny
adresse i hukommelsen og dermed ikke _den_ samme.
Martin Ehmsen
--
"Life is good for only two things,
discovering mathematics and teaching mathematics"
Siméon Poisson
| |
Filip Larsen (15-11-2001)
| Kommentar Fra : Filip Larsen |
Dato : 15-11-01 15:13 |
|
Martin Ehmsen skrev
> > objects[i].toString() er det samme som (String) objects[i]
>
> Nej, det vil være en ny String (med samme indhold) men med en ny
> adresse i hukommelsen og dermed ikke _den_ samme.
Nej da. Her er implementeringen af java.lang.String.toString:
/**
* This object (which is already a string!) is itself returned.
*
* @return the string itself.
*/
public String toString()
{
return this;
}
Så den gør faktisk hvad Javadoc'en siger den gør ...
Mvh,
--
Filip Larsen <filip.larsen@mail.dk>
| |
Martin Ehmsen (15-11-2001)
| Kommentar Fra : Martin Ehmsen |
Dato : 15-11-01 15:27 |
|
Filip Larsen wrote:
> Nej da. Her er implementeringen af java.lang.String.toString:
>
> /**
> * This object (which is already a string!) is itself returned.
> *
> * @return the string itself.
> */
> public String toString()
> {
> return this;
> }
>
> Så den gør faktisk hvad Javadoc'en siger den gør ...
Okey, jeg trækker min ord i mig igen...
Jeg skal indrømme at jeg svarede uden at have kigget, det skal ikke ske
igen, men jeg mente det ville være logisk at den returnerede
this.clone(), men nej.
Martin Ehmsen
--
"Life is good for only two things,
discovering mathematics and teaching mathematics"
Siméon Poisson
| |
|
|