3 차원 벡터를 보유하는 데이터 클래스가 있다고 가정 해 봅니다.많은 DataInputStream을 덤핑하는 것이 좋지 않습니까?
class Vec3 {
float x, y, z;
public Vec3(float x, float y, float z) { /* ... */ }
}
그런 다음 스트림에서 읽을 기능을 제공하려고합니다. 나는 수레가있어서 가장 쉬운 선택은 DataInputStream
입니다.
public static Vec3 read(DataInputStream in) {
float x = in.readFloat();
float y = in.readFloat();
float z = in.readFloat();
return new Vec3(x, y, z);
}
물론 모든 유형을 InputStream
유형으로 지원하고 싶습니다. 따라서 모든 스트림을 래핑하는 오버로드를 생성합니다.
public static Vec3 read(InputStream in) {
return read(new DataInputStream(in));
}
그러나이 방법은 결코 폐쇄 그냥 읽은 후 덤프하는 DataInputStream
을 만듭니다. 이 나쁜 습관은 문제가 될 수 있습니까? Vec3
을 (를) 읽으려면 어떻게해야합니까?