Returning false from Equals methods without Overriding

后端 未结 3 858
隐瞒了意图╮
隐瞒了意图╮ 2021-01-29 13:46

Write TestEquals class so that main method of Puzzle3 class prints false.

Note: You cannot override equals method o

3条回答
  •  情话喂你
    2021-01-29 14:06

    Following would print false :)

    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.OutputStream;
    import java.io.PrintStream;
    import java.io.UnsupportedEncodingException;
    
    public class TestEquals {
    
      public static void main(String[] args) {
        TestEquals testEquals = new TestEquals();
        System.out.println(testEquals.equals(testEquals));
      }
    
      static {
        System.setOut(new CustomPrintStream(new PrintStream(System.out)));
      }
    
      public static class CustomPrintStream extends PrintStream {
    
        /**
         * This does the trick.
         */
        @Override
          public void println(boolean x) {
          super.println(!x);
        }
    
        public CustomPrintStream(File file, String csn) throws FileNotFoundException, UnsupportedEncodingException {
          super(file, csn);
        }
    
        public CustomPrintStream(File file) throws FileNotFoundException {
          super(file);
        }
    
        public CustomPrintStream(OutputStream out, boolean autoFlush, String encoding)
          throws UnsupportedEncodingException {
          super(out, autoFlush, encoding);
        }
    
        public CustomPrintStream(OutputStream out, boolean autoFlush) {
          super(out, autoFlush);
        }
    
        public CustomPrintStream(OutputStream out) {
          super(out);
        }
    
        public CustomPrintStream(String fileName, String csn) throws FileNotFoundException,
                                                                     UnsupportedEncodingException {
          super(fileName, csn);
        }
    
        public CustomPrintStream(String fileName) throws FileNotFoundException {
          super(fileName);
        }
      }
    }
    

提交回复
热议问题