aspose file tools
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes ?: operator Big Moose Saloon
  Search | Java FAQ | Recent Topics
Register / Login


JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Reply Bookmark "?: operator" Watch "?: operator" New topic
Author

?: operator

Shiva Mohan
Ranch Hand

Joined: Jan 05, 2006
Posts: 465
int x = true ? 10 : 20 ; // ---> line 1
byte b=true?1:12345;//-->line 2

why the second line is giving error.i think,if the line 2 condition is false,it will assign value b=12345 and the value of int(12345) doesnot go in byte.Thats why it is giving error even we set the condition as true.Just want to make sure���.
Andrea Z�rcher
Greenhorn

Joined: Oct 06, 2006
Posts: 10
I think you're right;-) 12345 is an int and cannot implicitly convert into a byte�


SCJP 5.0
Ade Barkah
Ranch Hand

Joined: Mar 17, 2004
Posts: 65
Yes, that is the reason, at least for JDK 1.4.

JDK 1.5 compilers are smart enough to realize that the test condition will always be true, and will accept the code without errors.

In my opinion the JDK 1.4 behavior is more appropriate.
[ October 08, 2006: Message edited by: Ade Barkah ]

-Ade<br /><a href="http://www.barkah.org" target="_blank" rel="nofollow">www.barkah.org</a>
Shiva Mohan
Ranch Hand

Joined: Jan 05, 2006
Posts: 465
Thanks
 
I agree. Here's the link: http://zeroturnaround.com/jrebel - it saves me about five hours per week
 
subject: ?: operator
 
Similar Threads
printf() doubt
Formatter question
Doubt in Boolean wrapper object creation
Unreachable statement
Formatting with printf() and format