Java N-Tuple implementation

后端 未结 9 2380
隐瞒了意图╮
隐瞒了意图╮ 2020-12-07 16:53

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

9条回答
  •  野趣味
    野趣味 (楼主)
    2020-12-07 17:43

    This is the simplest solution and it's also the best. It's similar to how Tuples are represented in .NET. It carefully sidesteps java erasure. It is strongly typed. It does not throw exceptions. It is very easy to use.

    public interface Tuple
    {
        int size();
    }
    
    public class Tuple2 implements Tuple
    {
        public final T1 item1;
        public final T2 item2;
    
        public Tuple2(
            final T1 item_1,
            final T2 item_2)
        {
            item1 = item_1;
            item2 = item_2;
        }
    
        @Override
        public int size()
        {
            return 2;
        }
    }
    
    public class Tuple3 implements Tuple
    {
        public final T1 item1;
        public final T2 item2;
        public final T3 item3;
    
        public Tuple3(
            final T1 item_1,
            final T2 item_2,
            final T3 item_3)
        {
            item1 = item_1;
            item2 = item_2;
            item3 = item_3;
        }
    
        @Override
        public int size()
        {
            return 3;
        }
    }
    

提交回复
热议问题