java中的断言是做什么用?都用在什么地方?我觉得需要用assert的地方都可以用try{}catch(){}的形式代替啊,为什么一定用assert呢?求教各位大哥大姐,谢谢

解决方案 »

  1.   

    assertion是一种经典的调试、测试方式,为了提高性能,在软件发布后,assertion检查通常是关闭的。try {} catch{}是软件的一部份啊。他们的功能完全不一样的。
      

  2.   

    assert boolean : "Object"
    是在开发时期的调试手段,
    开启为java -ea RunClass.class
    关闭为 java -da RunClass.class
      

  3.   

    try{}catch{}是异常处理!断言是我做程序调试和做软件测试时用的!要分清楚!不知道楼主用过JUNIT吗??用了你就清楚了!.......
    public int foo() {
            return n;
        }
    }
    .....
    protected void setUp() throws Exception {
            super.setUp();
            s1 = new Simple(10);
            s2 = new Simple(-7);
        }    public void testFoo() {
            assertTrue(s1.foo()==10);
            assertTrue(s2.foo()==7);//程序这时就会报错了!这就是断言的用处!调试程序之用!
        }
    }
      

  4.   

    For debug... But I never try it~~ sigh.
      

  5.   

    断言在c中就有,主要是对异常处理中用的,到了java时代,测试用的就比较多了,断言是junit的主要组成!