I just made a Java n-tuple which is type-safe.
I\'m using some unconventional methods to achieve type-safety (I just made it for fun).
Can someone can give some
It would be better to use generics for compile time type safety. You can define one interface per arity. Then you can define separate Callable interfaces to access the values of the tuple.
interface Tuple1 { R accept ( Callable1 callable ) ; }
interface Tuple2 { R accept ( Callable2 callable ) ; }
...
interface Tuplek { R accept ( Callablek callable ) ; }
interface Callable1 { R call ( T0 t0 ) ; }
interface Callable2 { R call ( T0 t0 , T1 t1 ) ; }
....
interface Callablek { R call ( T0 t0 , T1 t1 , T2 t2 , ... , Tk tk ) ; }