It is not correct that "My first thought is that if B is not finite then there exists a bijection $f:B→\mathbb{Z}_+$".
If $B = (0,1)$ and $A = \mathbb{R}$, $B$ is infinite but it is well known that there is no bijection between $B$ and $\mathbb{N}$.
The usual definition of finite is that a set $A$ is finite if and only if the $A$ is in bijection with $\bar{n}$ for some $n \in \mathbb{N}$, where $\bar{n} = \{0, 1, ..., n - 1\}$.
A set $A$ is infinite if it is not finite.
Suppose now that $B$ is infinite and $A$ happens to be finite. By definition, there exists a $n \in \mathbb{N}$ such that $f : \bar{n} \rightarrow A$ is a bijection. Then by recursion define $a_0$ to be the least $k \in \bar{n}$ such that $f(k) \in B$. Let $a_{i + 1}$ (as long as $i + 1 < n$) be the least $k$ such that $k > a_i$ and $f(k) \in B$. Then $g$ defined by $g(i) = a_i$ (as long as $a_i$ is defined) is a bijection between $\bar{m}$ for some $m \leq n$ and $B$. Hence $B$ is finite by definition. Contradiction.