Lin hatte seinen ersten internationalen Erfolg bei den Olympischen Jugend-Winterspielen 2012 in Innsbruck. Dort holte er die Silbermedaille über 500 m und die Goldmedaille über 1000 m. Bei der Winter-Universiade 2017 in Almaty wurde er Vierter über 500 m. Zu Beginn der Saison 2017/18 debütierte er in Budapest im Shorttrack-Weltcup. Dabei gewann er die Rennen über 1000 m und 1500 m und belegte zudem den zweiten Platz im Rennen über 500 m. Im weiteren Saisonverlauf kam er im Weltcupeinzel dreimal unter die ersten Zehn und erreichte damit den siebten Platz im Gesamtweltcup über 1500 m, den sechsten Rang im Weltcup über 1000 m und den vierten Platz im Weltcup über 500 m. Außerdem siegte er im November 2017 in Seoul mit der Staffel. Beim Saisonhöhepunkt, den Olympischen Winterspielen 2018 in Pyeongchang, holte er die Goldmedaille über 1500 m.[9] Über 500 m gewann er in Pyeongchang die Bronzemedaille. Im März 2018 holte er bei den Weltmeisterschaften in Montreal über 1000 m und 1500 m jeweils die Silbermedaille und mit der Staffel die Goldmedaille. Im Mehrkampf wurde er Vierter. In der Saison 2018/19 gewann er mit zwei Siegen und einen zweiten Platz den Weltcup über 500 m. Zudem errang er einen dritten und einen ersten Platz und den vierten Platz im Weltcup über 1500 m. In Calgary wurde er Zweiter mit der Staffel. Bei den Weltmeisterschaften 2019 in Sofia gewann er fünfmal die Goldmedaille (Mehrkampf, 1000 m, 1500 m, 3000 m, Staffel).[10]
Nach mehreren Jahren ohne internationalen Rennen startet er ab der Saison 2022/23 unter den Namen Lin Xiaojun für China. Dabei holte er zwei Siege über 500 m und errang damit den neunten Platz im Weltcup über 500 m. Bei den Weltmeisterschaften 2023 in Seoul gewann er die Silbermedaille in der Mixed-Staffel und die Goldmedaille mit der Staffel.
Anmerkung: Bei diesem Artikel wird der Familienname vor den Vornamen der Person gesetzt. Dies ist die übliche Reihenfolge im Koreanischen. Lin ist hier somit der Familienname, Xiaojun ist der Vorname.