Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (781)
Games in Android Showcase (233)
games submitted by our members
Games in WIP (857)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  cast removal  (Read 2327 times)
0 Members and 1 Guest are viewing this topic.
Offline pepe

Junior Devvie

Nothing unreal exists

« Posted 2004-08-06 07:28:01 »

Let's say that i have a method that does like clone(), but implements the cloning itself. That method does not return an Object instance, but an instance of the class itself. I think it it to remove the need to cast, for two reasons: speed and typing reduced.
I don't believe that doing so is clever, as duplicating processes for a task is a Bad ThingĀ©, and can introduce bugs directly and during updates, but this is an other story.
My question at the moment is:
is the cast point valid? Wouldn't hotspot remove the cast when returning from clone() in a case as the one  below?
MyClass mc = (MyClass)myOtherClass.clone();

By the way... anyone ever benchmarked clone() opposed to hand done cloning?

Home page:
GoSub: java2D gamechmark
Offline pepe

Junior Devvie

Nothing unreal exists

« Reply #1 - Posted 2004-08-13 02:50:50 »

is there something wrong with the question, or simply nobody knows?

Home page:
GoSub: java2D gamechmark
Offline princec

« JGO Spiffy Duke »

Medals: 1064
Projects: 3
Exp: 20 years

Eh? Who? What? ... Me?

« Reply #2 - Posted 2004-08-13 07:46:41 »

Maybe no-one knows. It's one of those things that's not likely to be a performance bottleneck anywhere I shouldn't think, either. I think that the cast is probably removable after the clone has been inlined.

Cas Smiley

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline crystalsquid

Junior Devvie

... Boing ...

« Reply #3 - Posted 2004-08-13 12:09:48 »

I don't think you even need the cast do you?

If MyOtherClass is derived from MyClass, then you should always be able to assign it to a base-class reference - at least you can in C++.

Casting the other way doen the inheritance tree is a different matter, and requires a cast and some care.

Speed wise I'm fairly certain that the cast would be more a compiler issue as opposed to generating any bytecodes from it - though I could be wrong on that too!  Wink

- Dom
Offline kevglass

« JGO Spiffy Duke »

Medals: 319
Projects: 25
Exp: 22 years

Coder, Trainee Pixel Artist, Game Reviewer

« Reply #4 - Posted 2004-08-13 12:30:21 »

Unfortunately clone() returns Object tho, so the cast is required.


Pages: [1]
  ignore  |  Print  

hadezbladez (1165 views)
2018-11-16 13:46:03

hadezbladez (525 views)
2018-11-16 13:41:33

hadezbladez (1187 views)
2018-11-16 13:35:35

hadezbladez (272 views)
2018-11-16 13:32:03

EgonOlsen (2567 views)
2018-06-10 19:43:48

EgonOlsen (2786 views)
2018-06-10 19:43:44

EgonOlsen (1564 views)
2018-06-10 19:43:20

DesertCoockie (2269 views)
2018-05-13 18:23:11

nelsongames (2121 views)
2018-04-24 18:15:36

nelsongames (2815 views)
2018-04-24 18:14:32
Deployment and Packaging
by philfrei
2019-02-17 20:25:53

Deployment and Packaging
by mudlee
2018-08-22 18:09:50

Java Gaming Resources
by gouessej
2018-08-22 08:19:41

Deployment and Packaging
by gouessej
2018-08-22 08:04:08

Deployment and Packaging
by gouessej
2018-08-22 08:03:45

Deployment and Packaging
by philfrei
2018-08-20 02:33:38

Deployment and Packaging
by philfrei
2018-08-20 02:29:55

Deployment and Packaging
by philfrei
2018-08-19 23:56:20 is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!