Forums Register Login

Do we have anything in Java like we have typedef in C++

+Pie Number of slices to send: Send
I was wondering if we have any way to declare a variable with our own name. For example,


Please don't say to extend the class and then declare because that won't be same (for example, private variables will be missing).
1
+Pie Number of slices to send: Send
 

Harish V Gupta wrote:I was wondering if we have any way to declare a variable with our own name. For example,


Please don't say to extend the class and then declare because that won't be same (for example, private variables will be missing).



No. I don't think that there is an equivelant of typedef in Java.

Sorry,
Henry
+Pie Number of slices to send: Send
If I remember correctly, typedef actually comes from C. You don’t need it in a language where you can create classes.
+Pie Number of slices to send: Send
Is this just a general enquiry or do you think you have a use for such a thing ?
If the latter it might be better to explain what you are trying to do and then maybe someone will be able to suggest a solution.
+Pie Number of slices to send: Send
I do need to use it. I am actually reading a file which can be of either xls or xlsx format. We have one API each for rendering xls and xlsx file. For xls it's HSSFWorkbook and for xlsx it's XSSFWorkbook. Both these classes have methods with same names in it. So if I can have a synonym type, I can use it to declare either HSSFWorkbook or XSSFWorkbook variable as the case may be.
+Pie Number of slices to send: Send
The way you would usually do that in Java would be to have an interface that defines the operations, and two classes that implement the interface. You then declare the variable using the interface type.
3
+Pie Number of slices to send: Send
In this case, both HSSFWorkbook and XSSFWorkbook implement the Workbook interface. You should really be coding to the Workbook interface instead of the implementation classes.
+Pie Number of slices to send: Send
 

Harish V Gupta wrote:
Please don't say to extend the class



The class String is final anyway.
+Pie Number of slices to send: Send
 

Harish V Gupta wrote:I do need to use it. I am actually reading a file which can be of either xls or xlsx format. We have one API each for rendering xls and xlsx file. For xls it's HSSFWorkbook and for xlsx it's XSSFWorkbook. Both these classes have methods with same names in it. So if I can have a synonym type, I can use it to declare either HSSFWorkbook or XSSFWorkbook variable as the case may be.


Seems to me like a basic class hierarchy rather than a typedef, even in C++; but it has been quite a while. In Java, if it was me, I'd probably base it around a WorkBook interface, as already mentioned.

Another possibility, of course, is an enum.

Winston
I am displeased. You are no longer allowed to read this tiny ad:
a bit of art, as a gift, the permaculture playing cards
https://gardener-gift.com


reply
reply
This thread has been viewed 3091 times.
Similar Threads
Why mutable elements of Sets?
Creating our own String class?
How to best get value of int variable into another method?
Understanding String as an Object
Why are Wrapper Classes, String,... final ?
More...

All times above are in ranch (not your local) time.
The current ranch time is
Mar 29, 2024 04:10:43.