会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132428个问题
JAVA 全系列/第二阶段:JAVA 基础深化和提高/网络编程(旧) 2941楼

chatRoom.zip

老师,这个问题找了半天也没找出为什么,服务器能接受消息,但是客户端收不到服务端的消息。

JAVA 全系列/第二阶段:JAVA 基础深化和提高/网络编程(旧) 2942楼

老师你好

问题:o和p为我自定义缓存范围外的值,o=300,p=300,o==p  返回为false,按说 o.equals(p)  应该返回的为true啊,但我实际的运行结果是 o.equals(p) 的结果也为false,这是什么原因了? 代码如下:

package com.bjsxt.test;

public class MyInteger {

    private int value;
    private static MyInteger[] cache = new MyInteger[256];

    public static final int LOW = -128;
    public static final int HIGH = 127;

    static{
        //[-128,127]
        for(int i=LOW;i<=HIGH;i++){
            //-128,0;-127,1;-126,2;~~~
            cache[i+128] = new MyInteger(i);
        }
    }


    public static MyInteger valueOf(int i){
        if(i>=LOW&&i<=HIGH){
            return cache[i+128];
        }
        return new MyInteger(i);
    }

private MyInteger(int i){
        this.value = i;
}

    @Override
    public String toString() {
        return this.value+"";
    }
    //MyInteger类对象转化为基本数据类型
    private int intValue() {
        return value;
    }


    public static void main(String[] args) {
        MyInteger m =MyInteger.valueOf(-128);
        MyInteger n =MyInteger.valueOf(-128);
        MyInteger o =MyInteger.valueOf(300);
        MyInteger p =MyInteger.valueOf(300);
        int a = m.intValue();
        int b = n.intValue();
        System.out.println(o.equals(p));
        System.out.println(o==p);
        System.out.println(m.equals(n));
        System.out.println(m==n);
        System.out.println(a==b);
    }
}

image.png

JAVA 全系列/第二阶段:JAVA 基础深化和提高/常用类 2944楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/多线程技术(旧) 2945楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/网络编程(旧) 2946楼

老师,我这个为啥会报错呢,写数据和读数据顺序都是对应的呀

代码:

import java.io.*;
import java.util.Date;

/**
 * @author LLLYF
 *
 */
public class Test3 {
    public static void main(String[] args) throws IOException {
        //write();
          read();

    }
    //读取数据的方法
    public static void read() throws IOException {
        //(1)数据源
        FileInputStream fis=new FileInputStream("E:\\date.txt");
        //(2)提高读取效率
        BufferedInputStream bis=new BufferedInputStream(fis);
        //(3)处理java的基本数据类型和字符串
        DataInputStream dis=new DataInputStream(bis);
        //(4)读数据--(读数据的顺序要与写数据的顺序完全一致)
        System.out.println(dis.readInt());
        System.out.println(dis.readDouble());
        System.out.println(dis.readBoolean());
        System.out.println(dis.readChar());
        System.out.println(dis.readUTF());
        //关闭
        dis.close();
    }
    public static void write() throws IOException {
        //(1)目的地
        FileOutputStream fos=new FileOutputStream("E:\\date.txt");
        //(2)缓冲流提高写入效率
        BufferedOutputStream bos=new BufferedOutputStream(fos);
        //(3)数据流,增加对java基本数据类型和String的处理
        DataOutputStream dos=new DataOutputStream(bos);
        //(4)写入数据
        dos.writeInt(98);
        dos.writeDouble(98.5);
        dos.writeBoolean(true);
        dos.writeChar('a');
        dos.writeUTF("helloworld");
        //(5)关闭流
        if(dos!=null){
                    dos.close();
        }
    }

}

运行结果:

T9}OMCY0DGRIB}ZAJMNTHBR.png

JAVA 全系列/第二阶段:JAVA 基础深化和提高/IO 流技术(旧) 2947楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/容器(旧) 2951楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/容器(旧) 2955楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637