2011-08-29 2 views
1

FloatBuffer은 의 최대 용량을 알려주는 capacity() 메서드를 가지고 있습니다. 그러나 얼마나 많은 요소가 버퍼에 있는지 알려주지는 않습니다. 그러면 FloatBuffer의 요소 수를 어떻게 결정할 수 있습니까? 내 FloatBuffer이 가득 차거나 부분적으로 가득 차 있는지 확인하려고합니다.FloatBuffer에있는 요소 수 결정

답변

4

현재 위치와 한계 사이의 요소의 수를 돌려줍니다 ... 나는 내 머리에 NIO 버퍼의 직선을 유지할 수 없다, 그러나 remaining() 당신이 계신 수 있습니다.

(간단한 부울 이후 인 경우 또는 단지 hasRemaining()를 사용 ...)

+0

나는 remaining()에 대해'0'을 얻고 있으므로 뭔가 잘못하고있을 것입니다. 거기에 데이터가 있다는 것을 압니다. –

+1

@Code Monkey : 글쓰기 후에'flip() '을 불렀습니까? 문제를 시연하는 짧지 만 완전한 프로그램을 게시하십시오 ... –

+0

Flip was it. 감사. put() 후 flip()을 호출 한 다음 remaining()을 확인합니다. –

2

당신은 할 수 없습니다. 수레 배열과 마찬가지로 길이를 얻을 수 있지만 어떤 것들이 설정되었는지는 응용 프로그램에 의해 결정됩니다.

0

그래서 어떻게 FloatBuffer의 요소 수를 결정할 수 있습니까?

위치()가 아닐까요?

더 많은 것을 쓸 수 있는지 결정하려면 fb.remaining()> 0 또는 fb.hasRemaining()을 테스트하십시오.