File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
Win a copy of Clojure in Action this week in the Clojure forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

copying an object

 
Niels Tielenburg
Ranch Hand
Posts: 44
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I want to copy an object called t1. I do that like this:


What I don't understand is the output: Why, when I set the test value of t1 to another value, the value of t2 also changes to that value?
 
Campbell Ritchie
Sheriff
Pie
Posts: 47281
52
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You have not copied the object. You have two references to the same object, set up with Tester t2 = t1; For copying, you should override the clone() method and implement the Cloneable interface, or maybe better, give your Tester class a copy constructor.
 
Niels Tielenburg
Ranch Hand
Posts: 44
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
ok thanks, got it working ;)
 
Jesper de Jong
Java Cowboy
Saloon Keeper
Pie
Posts: 15150
31
Android IntelliJ IDE Java Scala Spring
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Maybe this confuses you because you know C++?

This happens because variables in Java do not represent the objects themselves directly (like in C++); in Java, variables are references to objects. Line 4 in your code makes variable t2 refer to the same object that variable t1 refers to. It doesn't copy the object itself.
 
Campbell Ritchie
Sheriff
Pie
Posts: 47281
52
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Niels Tielenburg wrote:ok thanks, got it working ;)
Well done, and "you're welcome"
 
Niels Tielenburg
Ranch Hand
Posts: 44
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
oh yes, thank you for your help:P
 
I agree. Here's the link: http://aspose.com/file-tools
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic