HashMap TreeNode的split方法有个循环看不懂

for (TreeNode<K,V> e = b, next; e != null; e = next) {
                next = (TreeNode<K,V>)e.next;
                e.next = null;
                if ((e.hash & bit) == 0) {
                    if ((e.prev = loTail) == null)
                        loHead = e;
                    else
                        loTail.next = e;
                    loTail = e;
                    ++lc;
                }
                else {
                    if ((e.prev = hiTail) == null)
                        hiHead = e;
                    else
                        hiTail.next = e;
                    hiTail = e;
                    ++hc;
                }
            }

next没有定义类型,为什么可以使用?

你搜索下,next是在别的地方定义的。

如果是在eclipse之类的环境里,可以用goto definition 看下

TreeNode e = b, next;
这里定义了next这个类型