Java-Gaming.org Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (769)
Games in Android Showcase (230)
games submitted by our members
Games in WIP (856)
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  
  Passing strings around  (Read 5471 times)
0 Members and 1 Guest are viewing this topic.
Offline trollwarrior1
« Posted 2014-10-22 19:07:41 »

I'm making kinda custom simple object language (Almost like XML, but it is mainly for writing UI, so I will not need any 'special' character handling and stuff).

I'm starting to write the parser, and I don't know if I should pass the input string around methods. Does passing string around methods copy it? So for example if I pass string A from method B to method C, does string A stay as it is, or does it get copied and become a new string?
Offline BurntPizza

« JGO Bitwise Duke »


Medals: 486
Exp: 7 years



« Reply #1 - Posted 2014-10-22 19:09:45 »

Does passing any object type copy it?

No.


Note however that Java is pass-by-value: http://stackoverflow.com/questions/40480/is-java-pass-by-reference-or-pass-by-value
Just not the way that might be immediately obvious.
Offline trollwarrior1
« Reply #2 - Posted 2014-10-22 19:12:33 »

Well I just thought that strings might have some magical properties like int or boolean or any other primitive. Ow well.
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline BurntPizza

« JGO Bitwise Duke »


Medals: 486
Exp: 7 years



« Reply #3 - Posted 2014-10-22 19:15:40 »

They can have the interesting properties of being interned and/or de-duplicated. Look up "string interning" or deduplication for more.
Also note that they are immutable, so "modifying" a string is creating a new string. Except that substring used to create a "view" string. It does not anymore though.

For more info: http://java-performance.info/changes-to-string-java-1-7-0_06/
Offline KevinWorkman

« JGO Plugged Duke »


Medals: 285
Projects: 12
Exp: 12 years


HappyCoding.io - Coding Tutorials!


« Reply #4 - Posted 2014-10-23 01:16:31 »

Does passing string around methods copy it? So for example if I pass string A from method B to method C, does string A stay as it is, or does it get copied and become a new string?

Why don't you just write a little example program that tests this out?

I just thought that strings might have some magical properties like int or boolean or any other primitive.

Strings aren't primitives. They are immutable Objects.

HappyCoding.io - Coding Tutorials!
Happy Coding forum - Come say hello!
Pages: [1]
  ignore  |  Print  
 
 

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

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

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

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

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

nelsongames (1709 views)
2018-04-24 18:14:32

ivj94 (2533 views)
2018-03-24 14:47:39

ivj94 (1758 views)
2018-03-24 14:46:31

ivj94 (2835 views)
2018-03-24 14:43:53

Solater (971 views)
2018-03-17 05:04:08
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

Deployment and Packaging
by philfrei
2018-08-19 23:54:46
java-gaming.org 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‑gaming.org
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!