软件构造——Lab3

遇到的一些问题:
①按钮监听器覆写
由于我的GUI的实现是由一个基础类和三个子类组成,其中基础类的一些按钮的监听器实现要在子类中覆写,但是我一直找不到好的方法去覆写,所以我直接在子类中遍历了该按钮的所有监听器,把它们都删了然后重加

②正则表达式匹配
在这个实验里我发现了正则表达式的一个好用的功能,比如在匹配如下信息时:
String regex1="(SocialTie ::= <)([\w,.\s]+)(>)";
由于真正有用的只有中间的一部分信息,所以在使用正则表达式匹配时,可以将正则表达式用()分割,将有用的信息分在一块,然后在对应的matcher find()到的时候,调用matcher的group()方法,就可以只获得想要的信息了。

③关于Map的使用
我在使用一个key为自己写的ADT的Map时出现过contains方法无法获得正确结果的现象,查阅资料后发现Map的contains方法是根据key对象的Hashcode来进行判断的,而我自己写的ADT中并没有覆写hashcode方法,导致contains的使用错误。所以以后如果要用map装自己写的ADT时,一定要注意覆写equals和hashcode方法。

你可能感兴趣的:(软件构造——Lab3)