A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 郑飞   /  2014-11-22 23:08  /  4094 人查看  /  78 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

.比较两个对象是否相等
“==”:比较的是引用值是否相等(堆当中的对象的地址是否相同)
“equals()”:Object根上的类,equals比较就是“==”,但是
我们认为的相等,一般指的属性,所以equals跟比较有关的时候,必须重写-               问题一:“==”和“equals()”的具体区别还是没有具体弄明白,还有重写“equals”的为什么不是很清楚,哪些情况下用重写???希望解答

评分

参与人数 1黑马币 +7 收起 理由
郑飞 + 7 二者区别 论坛上答案很多 可以找找.

查看全部评分

回复 使用道具 举报
飞哥,严重缺分中,,,,,,:'(
回复 使用道具 举报
郑飞 高级黑马 2014-11-23 16:26:44
43#
阿萨德大圣 发表于 2014-11-23 15:45
黑马毕老师视频16-18api部分什么时候重写equals,toString,什么时候可以直接使用呢。没弄清楚 ...

个人的理解 拿toString举例
这就看你想要通过这两个方法获得什么样的功能了 之所以复写 是因为我们不满意当前的实现
例如:System.out.println(new Student().toString());打印的是:Student@18a992f
而我们要获得其中属性(名字或者ID等等) 那就要复写了
所以判断是否复写 或者什么时候复写 前提1:知道当前的实现方式并不满意 2:有自己想要的实现方式 那就复写吧
equals道理也一样 明确当前对象或类equals的比较方式 不满意就重写
回复 使用道具 举报
郑飞 发表于 2014-11-23 16:26
个人的理解 拿toString举例
这就看你想要通过这两个方法获得什么样的功能了 之所以复写 是因为我们不满 ...

谢谢飞哥,讲的太好了
回复 使用道具 举报
java 基础第二十三天,Tcp与Udp区别:
UDP
1面向无连接,对方不在包就丢掉。
2不可靠协议
3速度快
4数据和源,目的封装成数据包,且限制在64k
TCP
1面向连接,形成网络传输通道
2可靠协议,通过三次握手完成连接
3速度慢,效率低
4不封包 在连接中进行大量数据传输

评分

参与人数 1黑马币 +5 收起 理由
郑飞 + 5

查看全部评分

回复 使用道具 举报
java基础 正则表达式应用
1 去掉重复的字符
  1.       String str="sssddd";
  2.                 str=str.replaceAll("(.)\\1+", "$1");
  3.                 System.out.println(str);
复制代码

2 校验邮箱地址
  1.      String reg = "[a-zA-Z0-9_]+@[a-zA-Z0-9]+(\\.[a-zA-Z]+)+";//较为精确的匹配。
  2.                reg = "\\w+@\\w+(\\.\\w+)+";//相对不太精确的匹配。
复制代码

3 IP 地址排序

  1.                String ip = "192.68.1.254 102.49.23.013 10.10.10.10 2.2.2.2 8.109.90.30";
  2.                 ip = ip.replaceAll("(\\d+)","00$1");
  3.                 System.out.println(ip);
  4.                 ip = ip.replaceAll("0*(\\d{3})","$1");
  5.                 System.out.println(ip);
  6.                 String[] arr = ip.split(" ");
  7.                 TreeSet<String> ts = new TreeSet<String>();
  8.                 for(String s : arr)
  9.                 {
  10.                         ts.add(s);
  11.                 }
  12.                 for(String s : ts)
  13.                 {
  14.                         System.out.println(s.replaceAll("0*(\\d+)","$1"));
  15.                 }
复制代码

评分

参与人数 1黑马币 +7 收起 理由
郑飞 + 7 赞一个!

查看全部评分

回复 使用道具 举报
Evred 中级黑马 2014-11-23 17:06:37
47#
来学习了!
回复 使用道具 举报
本帖最后由 丑小子799 于 2014-11-23 18:39 编辑

public class TestTcp {
        
        @Test
        public void client(){
                Socket socket=null;
                OutputStream os=null;
                try {
                        socket = new Socket(InetAddress.getByName("127.0.0.1"), 9090);
                        os = socket.getOutputStream();
                        os.write("我是客户端".getBytes());
//                        socket.shutdownOutput();
//                        socket.shutdownInput();
                } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }finally{
                        if(os!=null){
                                try {
                                        os.close();
                                } catch (IOException e) {
                                        // TODO Auto-generated catch block
                                        e.printStackTrace();
                                }
                        }
                        if(socket!=null){
                                try {
                                        socket.close();
                                } catch (IOException e) {
                                        // TODO Auto-generated catch block
                                        e.printStackTrace();
                                }
                        }
                }
//                os.close();
//                socket.close();
        }
        @Test
        public void server() throws Exception{
                //定义一个serversocket对象,指明接收的端口号
                ServerSocket ss=new ServerSocket(9090);
                //通过accep()方法获得一个socket对象
                Socket socket=ss.accept();
                //获取输入流
                InputStream is=socket.getInputStream();
                byte[] bytes=new byte[4];
                int len;
                while((len=is.read(bytes))!=-1){
                        String str=new String(bytes, 0, len);
                        System.out.print(str);
                }
                is.close();
                socket.close();
                ss.close();
        }
}
想问问大家,socket.shutdownOutput();
        socket.shutdownInput();
这两句话什么时候用,我有的时候用还会报错。我技术分还差一分就入学考试了,给6个黑马币吧

评分

参与人数 1黑马币 +6 收起 理由
郑飞 + 6 赞一个!

查看全部评分

回复 使用道具 举报
NCry 中级黑马 2014-11-23 19:20:13
49#
cbb 发表于 2014-11-23 12:00
飞哥遇到一个很郁闷的事儿,又来麻烦你了。

你的代码完美运行,每一点错误。
回复 使用道具 举报
顶一个!!!
回复 使用道具 举报
求一个可以在条件执行语句里跳到制定位置的方法

评分

参与人数 1黑马币 +5 收起 理由
郑飞 + 5 赞一个!

查看全部评分

回复 使用道具 举报
不缺分,为楼主的行为赞一个:handshake
回复 使用道具 举报
郑飞 高级黑马 2014-11-23 21:39:23
53#
chen_32768 发表于 2014-11-23 21:22
求一个可以在条件执行语句里跳到制定位置的方法

在网上简单搜索了下得到的:(没找到有类似goto功能的)
Java允许在语句前加上标签前缀,构成标签(label)语句。其一般格式为:
标识符:语句
其中标识符应是Java语言中合法的标识符;语句可以是任意Java语句,包括简单语句、复合语句(语句块)、控制转移语句、空语句。但由于在Java中,标签语句仅能与break和continue语句配合使用,所以给简单语句或空语句加标签没有意义。
回复 使用道具 举报
java初学者笔记4——Java静态成员:http://bbs.itheima.com/thread-152952-1-1.html
回复 使用道具 举报
java初学者学习笔记3——运算符:http://bbs.itheima.com/thread-152777-1-1.html
回复 使用道具 举报
飞哥顶你!飞哥万岁万岁万万岁!

评分

参与人数 1黑马币 +8 收起 理由
郑飞 + 8 谢谢分享

查看全部评分

回复 使用道具 举报
多态的具体应用,感觉很模糊,除了大型程序里面需要,感觉多态在基础上暂时没太大用处。平时练习都用不上
回复 使用道具 举报
多态的具体应用,感觉很模糊,除了大型程序里面需要,感觉多态在基础上暂时没太大用处。平时练习都用不上

评分

参与人数 1黑马币 +6 收起 理由
郑飞 + 6

查看全部评分

回复 使用道具 举报
学习到视频第九天的匿名内类时,大致都能懂,视频中介绍内部类的必要条件中有一条:
     内部类必须是继承一个类或者实现接口
interface Inter
{
        void method();
}
class InnerClassTest
{
        public static void main(String[] args)
        {
                show(new Inter()
                {
                        public void method()
                        {
                                System.out.println("method show run");
                        }
                });
        }

        public static void show(Inter in)
        {
                in.method();
        }
}

但在上面这个匿名内部类种并没有看到 ” extends“或者” implements “,
能帮忙解释一下吗?

评分

参与人数 1黑马币 +5 收起 理由
郑飞 + 5

查看全部评分

回复 使用道具 举报
String 类初始化就不能改变,求其原因

点评

别问这类经典的问题  发表于 2014-11-23 23:43
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马