Faits :
A.
Par jugement du 23 juillet 2019, le Tribunal correctionnel de l'arrondissement de Lausanne a condamné A._, pour vol en bande et par métier, vol par métier, tentative de vol en bande, dommages à la propriété, violation de domicile, tentative de violation de domicile, conduite sans autorisation, vol d'usage d'un véhicule automobile et contravention à la LStup, à une peine privative de liberté de trois ans ainsi qu'à une amende de 100 francs. Il a renoncé à ordonner l'expulsion du prénommé du territoire suisse.
B.
Par jugement du 16 décembre 2019, la Cour d'appel pénale du Tribunal cantonal du canton de Vaud, statuant notamment sur l'appel formé par le ministère public contre ce jugement, a réformé celui-ci en ce sens que l'expulsion de A._ du territoire suisse est ordonnée pour une durée de cinq ans.
La cour cantonale a retenu les faits suivants.
B.a. Ressortissant kosovar, A._ est né en 1996 en Suisse, où il bénéficie d'une autorisation d'établissement. Il n'a achevé aucune formation post-obligatoire. Il est célibataire et sans enfant.
Le prénommé a des antécédents au Tribunal des mineurs, datant de 2008, 2009 et 2011.
En outre, son casier judiciaire fait état d'une condamnation, en 2015, pour tentative de vol, dommages à la propriété et violation de domicile, ainsi que d'une condamnation, en 2018, à une peine privative de liberté de 24 mois - avec sursis portant sur 12 mois durant quatre ans -, pour lésions corporelles par négligence, violation des règles de la circulation routière, violation grave des règles de la circulation routière, violation d'une interdiction de conduire sous l'influence de l'alcool, conducteur se trouvant dans l'incapacité de conduire, violation des obligations en cas d'accident, vol d'usage d'un véhicule automobile, conduite d'un véhicule automobile sans le permis de conduire requis et contravention à la LStup.
B.b. Entre novembre 2017 et mai 2018, A._ a commis 67 cambriolages, dont 31 tentatives, durant lesquels il a réalisé les diverses infractions pour lesquelles il a été condamné.
Entre novembre 2018 et janvier 2019, l'intéressé a encore tenté d'introduire des produits cannabiques en prison, pour sa consommation personnelle.
B.c. En détention, A._ a fait l'objet de deux décisions de sanction.
C.
A._ forme un recours en matière pénale au Tribunal fédéral contre le jugement du 16 décembre 2019, en concluant, avec suite de frais et dépens, principalement à sa réforme en ce sens que son expulsion du territoire suisse n'est pas ordonnée et, subsidiairement, à son annulation et au renvoi de la cause à l'autorité précédente pour nouvelle décision. Il sollicite par ailleurs le bénéfice de l'assistance judiciaire.
Considérant en droit :
1.
Le recourant s'oppose à son expulsion du territoire suisse. Il ne conteste pas avoir été condamné pour des infractions - soit le vol (art. 139 CP) en lien avec une violation de domicile (art. 186 CP) - qui tombent sous le coup de l'art. 66a al. 1 CP (let. d), mais se prévaut de la clause de rigueur (art. 66a al. 2 CP) ainsi que des art. 8 CEDH et 13 Cst.
Il reproche en outre à la cour cantonale d'avoir versé dans l'arbitraire concernant certains éléments de fait.
1.1. Le Tribunal fédéral n'est pas une autorité d'appel, auprès de laquelle les faits pourraient être rediscutés librement. Il est lié par les constatations de fait de la décision entreprise (art. 105 al. 1 LTF), à moins qu'elles n'aient été établies en violation du droit ou de manière manifestement inexacte au sens des art. 97 al. 1 et 105 al. 2 LTF, soit pour l'essentiel de façon arbitraire au sens de l'art. 9 Cst. Une décision n'est pas arbitraire du seul fait qu'elle apparaît discutable ou même critiquable; il faut qu'elle soit manifestement insoutenable et cela non seulement dans sa motivation mais aussi dans son résultat. Le Tribunal fédéral n'entre pas en matière sur les critiques de nature appellatoire (ATF 145 IV 154 consid. 1.1 p. 155 s. et les références citées).
1.2. Selon l'art. 66a al. 2 CP, le juge peut exceptionnellement renoncer à une expulsion lorsque celle-ci mettrait l'étranger dans une situation personnelle grave et que les intérêts publics à l'expulsion ne l'emportent pas sur l'intérêt privé de l'étranger à demeurer en Suisse. A cet égard, il tiendra compte de la situation particulière de l'étranger qui est né ou qui a grandi en Suisse.
1.2.1. La clause de rigueur permet de garantir le principe de la proportionnalité (cf. art. 5 al. 2 Cst.; ATF 144 IV 332 consid. 3.3.1 p. 340; arrêt 6B_690/2019 du 4 décembre 2019 consid. 3.4.2 destiné à la publication). Elle doit être appliquée de manière restrictive (ATF 144 IV 332 consid. 3.3.1 p. 340; arrêt 6B_690/2019 précité consid. 3.4.2 destiné à la publication). Selon la jurisprudence du Tribunal fédéral (cf. ATF 144 IV 332 consid. 3.3.2 p. 340 s.; arrêt 6B_690/2019 précité consid. 3.4 destiné à la publication), il convient de s'inspirer des critères énoncés à l'art. 31 de l'ordonnance du 24 octobre 2007 relative à l'admission, au séjour et à l'exercice d'une activité lucrative (OASA; RS 142.201). L'art. 31 al. 1 OASA prévoit qu'une autorisation de séjour peut être octroyée dans les cas individuels d'extrême gravité. L'autorité doit tenir compte notamment de l'intégration du requérant selon les critères définis à l'art. 58a al. 1 de la loi fédérale sur les étrangers et l'intégration (LEI; RS 142.20), de la situation familiale, particulièrement de la période de scolarisation et de la durée de la scolarité des enfants, de la situation financière, de la durée de la présence en Suisse, de l'état de santé ainsi que des possibilités de réintégration dans l'Etat de provenance. Comme la liste de l'art. 31 al. 1 OASA n'est pas exhaustive et que l'expulsion relève du droit pénal, le juge devra également, dans l'examen du cas de rigueur, tenir compte des perspectives de réinsertion sociale du condamné (ATF 144 IV 332 consid. 3.3.2 p. 340 s.; arrêt 6B_1417/2019 du 13 mars 2020 consid. 2.1.1). En règle générale, il convient d'admettre l'existence d'un cas de rigueur au sens de l'art. 66a al. 2 CP lorsque l'expulsion constituerait, pour l'intéressé, une ingérence d'une certaine importance dans son droit au respect de sa vie privée et familiale garanti par la Constitution fédérale (art. 13 Cst.) et par le droit international, en particulier l'art. 8 CEDH (arrêts 6B_1417/2019 précité consid. 2.1.1; 6B_50/2020 du 3 mars 2020 consid. 1.3.1).
1.2.2. Selon la jurisprudence, pour se prévaloir du droit au respect de sa vie privée au sens de l'art. 8 par. 1 CEDH, l'étranger doit établir l'existence de liens sociaux et professionnels spécialement intenses avec la Suisse, notablement supérieurs à ceux qui résultent d'une intégration ordinaire. Le Tribunal fédéral n'adopte pas une approche schématique qui consisterait à présumer, à partir d'une certaine durée de séjour en Suisse, que l'étranger y est enraciné et dispose de ce fait d'un droit de présence dans notre pays. Il procède bien plutôt à une pesée des intérêts en présence, en considérant la durée du séjour en Suisse comme un élément parmi d'autres et en n'accordant qu'un faible poids aux années passées en Suisse dans l'illégalité, en prison ou au bénéfice d'une simple tolérance (cf. ATF 134 II 10 consid. 4.3 p. 24; plus récemment arrêt 6B_153/2020 du 28 avril 2020 consid. 1.3.2). Un séjour légal de dix années suppose en principe une bonne intégration de l'étranger (ATF 144 I 266 consid. 3.9 p. 277 s.).
1.2.3. L'expulsion d'un individu étant né et ayant passé toute son existence en Suisse, jusqu'à l'âge adulte, ne peut que causer à celui-ci une atteinte à son droit au respect de sa vie privée, cela indépendamment de sa situation personnelle et familiale (cf. arrêt 6B_153/2020 précité consid. 1.3.4). Un renvoi du recourant au Kosovo placerait ce dernier dans une situation personnelle grave - ce qu'a admis la cour cantonale - et constituerait une atteinte sensible au respect de sa vie privée au sens de l'art. 8 par. 1 CEDH, de sorte que la première condition cumulative de l'art. 66a al. 2 CP est réalisée.
1.3. La première condition cumulative de l'art. 66a al. 2 CP étant remplie, il convient encore d'examiner si l'intérêt privé du recourant à demeurer en Suisse peut l'emporter sur l'intérêt public présidant à son expulsion.
1.3.1. Dans l'appréciation du cas de rigueur, l'art. 66a al. 2 2e phrase CP impose expressément de prendre en considération la situation particulière de l'étranger qui est né ou qui a grandi en Suisse.
L'examen de la clause de rigueur doit être effectué dans chaque cas sur la base des critères d'intégration habituels (cf. ATF 144 IV 332 consid. 3.3.2 p. 340 s.). La situation particulière des étrangers nés ou ayant grandi en Suisse est prise en compte en ce sens qu'une durée de séjour plus longue, associée à une bonne intégration - par exemple en raison d'un parcours scolaire effectué en Suisse - doit généralement être considérée comme une indication importante de l'existence d'intérêts privés suffisamment forts et donc tendre à retenir une situation personnelle grave. Lors de la pesée des intérêts qui devra éventuellement être effectuée par la suite, la personne concernée doit se voir accorder un intérêt privé plus important à rester en Suisse au fur et à mesure que la durée de sa présence augmente. A l'inverse, on peut partir du principe que le temps passé en Suisse est d'autant moins marquant que le séjour et la scolarité achevée en Suisse sont courts, de sorte que l'intérêt privé à rester en Suisse doit être considéré comme moins fort (arrêts 6B_153/2020 précité consid. 1.4.1; 6B_1417/2019 précité consid. 2.1.3; 6B_690/2019 précité consid. 3.4.4 destiné à la publication).
1.3.2. L'autorité précédente a exposé que le recourant, bien que né en Suisse, parlait l'albanais, de sorte que pour lui - célibataire et majeur - une intégration dans son pays d'origine ne poserait pas de difficultés insurmontables. L'essentiel de sa famille maternelle résidait cependant en Suisse. Malgré cela, le recourant n'était pas intégré dans ce pays, ne disposait d'aucune formation et n'avait cessé de commettre des infractions, notamment contre le patrimoine ou la législation sur la circulation routière. Il avait poursuivi son activité délictueuse alors même qu'il savait faire l'objet d'une procédure pénale ayant débouché sur une condamnation à une peine privative de liberté de deux ans en 2018, ce qui était inquiétant et dénotait une personnalité associale. Le comportement de l'intéressé en prison était révélateur d'une incapacité à se plier aux règles. Enfin, le recourant n'avait présenté aucun projet concret pour sa sortie de prison, mais s'était contenté de se prévaloir d'une éventuelle place de travail en qualité d'employé non qualifié chez l'un de ses cousins. L'intérêt public à expulser le recourant du territoire suisse l'emportait en définitive sur son intérêt privé à demeurer en Suisse.
1.3.3. L'appréciation de la cour cantonale doit être suivie.
L'intérêt privé du recourant à demeurer en Suisse est certes très important, puisque ce dernier est né puis a grandi dans ce pays. A l'inverse, l'intéressé n'a jamais vécu dans son pays d'origine, de sorte que son expulsion du territoire suisse porterait une sérieuse atteinte à son droit au respect de sa vie privée - éloignant en particulier celui-ci de sa famille proche vivant en Suisse - et le contraindrait à s'intégrer dans un pays dont il est ressortissant mais qu'il ne connaît guère. Il convient cependant de relever que le recourant parle l'albanais et admet s'être rendu à plusieurs reprises dans son pays d'origine. Une intégration n'y serait pas aisée, non plus qu'impossible.
Le recourant ne jouit d'aucune formation post-obligatoire et ne peut revendiquer aucune expérience professionnelle. Si l'on peut admettre, comme le soutient le recourant, qu'il n'est pas "marginalisé", son intégration en Suisse se révèle pour le moins médiocre. A cet égard, il n'apparaît pas que la cour cantonale aurait versé dans l'arbitraire, ainsi que le prétend le recourant, en retenant que ce dernier ne présentait aucun projet concret pour sa sortie de prison. La promesse d'engagement émanant du cousin de l'intéressé se révèle en effet inconsistante, dès lors que, datée de juillet 2019, on ignore si et dans quelle mesure l'"emploi fixe" évoqué - concernant un poste de "monteur" pour lequel le recourant n'est pas qualifié -, pouvait encore être d'actualité au moment du jugement d'appel, ou si la société concernée pourrait réellement se permettre, au moment d'une libération dont le terme n'est pas connu, d'embaucher un nouvel employé dénué d'expérience (cf. pièce 266 du dossier cantonal).
Le recourant tente de déceler, dans le jugement attaqué, des contradictions entre les considérations relatives à l'expulsion et celles concernant la fixation de la peine. Cet exercice est vain, car les éléments pris en compte pour apprécier le culpabilité de l'intéressé et pour procéder à une pesée des intérêts s'agissant de l'expulsion ne sont pas identiques. En outre, la cour cantonale n'a fait que rappeler les aspects retenus à décharge par les premiers juges, tout en rappelant qu'il convenait de tenir compte de la multiplicité des infractions commises, de la persistance du recourant à violer la loi, de son mauvais comportement, ou encore du fait qu'il paraissait "ancré dans la délinquance". De toute manière, l'argumentation du recourant tendant à relativiser la gravité des infractions sanctionnées, à minimiser sa propre responsabilité au sein de la bande formée pour commettre des cambriolages, à faire état de sa prétendue prise de conscience ainsi que de sa bonne volonté à l'égard des parties plaignantes - qui concerne essentiellement la fixation de la peine -, ne change rien à ce qui suit concernant la pesée des intérêts en lien avec l'expulsion.
L'intérêt public présidant à l'expulsion du recourant est considérable. Ce dernier s'est en effet installé dans la délinquance et s'est rendu coupable d'une impressionnante liste de méfaits - en particulier 67 cas de cambriolages commis au sein d'une bande -, venant aggraver d'importants antécédents, dont les premiers remontent à 2008 déjà. La peine privative de liberté à laquelle le recourant a été condamné dépasse largement une année, ce qui pourrait, cas échéant, permettre une révocation de son autorisation d'établissement sur la base de l'art. 63 al. 1 let. a cum 62 al. 1 let. b LEI (cf. ATF 139 I 145 consid. 2.1 p. 147, selon lequel constitue une "peine privative de liberté de longue durée" au sens de l'art. 62 al. 1 let. b LEtr [depuis le 1er janvier 2019 : LEI] toute peine dépassant un an d'emprisonnement). Le recourant, qui manifeste depuis des années un mépris complet de l'ordre juridique suisse, constitue une sérieuse menace pour l'ordre et la sécurité publics. Ses agissements illicites n'ont pris fin qu'en raison de son arrestation. La réintégration de l'intéressé en Suisse, compte tenu de ses antécédents, de son absence de formation ou d'expérience professionnelle, apparaît particulièrement compromise.
Le recourant reproche à l'autorité précédente d'avoir retenu que son comportement depuis sa condamnation dénotait une incapacité à se plier aux règles. Il se prévaut, sur ce point, d'un rapport du Service pénitentiaire du 2 juillet 2019, rapportant son bon comportement en détention (cf. pièce 259 du dossier cantonal). Or, la cour cantonale a mentionné, dans le jugement attaqué, les deux sanctions qui ont été infligées au recourant postérieurement au rapport en question. Il apparaît ainsi que l'intéressé a été sanctionné, en octobre 2019, pour inobservation des règlements et directives, refus d'obtempérer, fraude et trafic, ainsi que pour consommation de produits prohibés (cf. pièces 285 et 286 du dossier cantonal). Il n'était donc aucunement insoutenable, sur cette base, de retenir que le recourant manifeste des difficultés à se conformer au cadre dans lequel il évolue, son comportement en détention n'étant pas - loin s'en faut - exemplaire.
En définitive, compte tenu de la multiplicité des infractions sanctionnées, de la médiocre intégration du recourant en Suisse et de l'absence de perspectives concrètes dans ce pays, ainsi que de sa propension à fouler au pied les règles et l'ordre juridiques, l'intérêt public présidant à son expulsion l'emporte sur l'intérêt privé de l'intéressé à y demeurer, même si l'intégration de ce dernier dans son pays d'origine ne sera pas facile.
1.4. La seconde condition pour l'application de l'art. 66a al. 2 CP n'étant pas réalisée, la cour cantonale n'a pas violé le droit fédéral, constitutionnel ou international en ordonnant l'expulsion du recourant pour une durée de cinq ans.
2.
Le recours doit être rejeté. Comme il était dénué de chances de succès, la demande d'assistance judiciaire doit être rejetée (art. 64 al. 1 LTF). Le recourant, qui succombe, supportera les frais judiciaires (art. 66 al. 1 LTF), dont le montant sera fixé en tenant compte de sa situation financière, laquelle n'apparaît pas favorable.
Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté.
2.
La demande d'assistance judiciaire est rejetée.
3.
Les frais judiciaires, arrêtés à 1'200 fr., sont mis à la charge du recourant.
4.
Le présent arrêt est communiqué aux parties et à la Cour d'appel pénale du Tribunal cantonal du canton de Vaud.
Lausanne, le 6 mai 2020
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
Le Greffier : Graa