Faits :
A.
Par jugement du 21 mai 2019, le Tribunal correctionnel de la République et canton de Genève a condamné A._, pour délit manqué de lésions corporelles graves et menaces, à une peine privative de liberté de deux ans et trois mois, ainsi qu'à une peine pécuniaire de 90 jours-amende à 10 fr. le jour. Il a instauré un traitement ambulatoire en faveur du prénommé et a ordonné son expulsion du territoire suisse pour une durée de cinq ans. Il a enfin fait interdiction à A._ de prendre contact avec B._ et d'approcher ce dernier pour une durée de cinq ans, mesure assortie d'une assistance de probation.
B.
Par arrêt du 4 décembre 2019, la Chambre pénale d'appel et de révision de la Cour de justice genevoise a rejeté l'appel de A._ ainsi que l'appel joint formé par B._ contre ce jugement et a confirmé celui-ci.
La cour cantonale a retenu les faits suivants.
B.a. Le 5 août 2017, A._ a asséné à B._ un coup de couteau au thorax.
B.b. Le 28 septembre 2017, A._ a encore montré à B._ deux couteaux, en lui annonçant qu'il le tuerait.
B.c. Une expertise psychiatrique a été mise en oeuvre. Dans un rapport du 20 novembre 2018, l'experte psychiatre a posé le diagnostic, concernant A._, de trouble de la personnalité de sévérité moyenne et de nature chronique.
C.
A._ forme un recours en matière pénale au Tribunal fédéral contre l'arrêt du 4 décembre 2019, en concluant, avec suite de frais et dépens, principalement à sa réforme en ce sens qu'il est acquitté, qu'une indemnité lui est allouée, à raison de 102'800 fr. pour la détention subie et de 10'000 fr. pour son tort moral. Subsidiairement, il conclut à son annulation et au renvoi de la cause à l'autorité précédente pour nouvelle décision ainsi qu'à l'octroi d'une indemnité, à raison de 102'800 fr. pour la détention subie et de 10'000 fr. pour son tort moral. Il sollicite par ailleurs le bénéfice de l'assistance judiciaire.
Considérant en droit :
1.
Le recourant reproche à l'autorité précédente d'avoir apprécié les preuves et établi les faits de manière arbitraire. Il se plaint en outre, à cet égard, d'une violation du principe "in dubio pro reo".
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. La présomption d'innocence, garantie par les art. 10 CPP, 32 al. 1 Cst., 14 par. 2 Pacte ONU II et 6 par. 2 CEDH, ainsi que son corollaire, le principe "in dubio pro reo", concernent tant le fardeau de la preuve que l'appréciation des preuves au sens large. En tant que règle sur le fardeau de la preuve, elle signifie, au stade du jugement, que le fardeau de la preuve incombe à l'accusation et que le doute doit profiter au prévenu. Comme règle d'appréciation des preuves, la présomption d'innocence signifie que le juge ne doit pas se déclarer convaincu de l'existence d'un fait défavorable à l'accusé si, d'un point de vue objectif, il existe des doutes quant à l'existence de ce fait. Il importe peu qu'il subsiste des doutes seulement abstraits et théoriques, qui sont toujours possibles, une certitude absolue ne pouvant être exigée. Il doit s'agir de doutes sérieux et irréductibles, c'est-à-dire de doutes qui s'imposent à l'esprit en fonction de la situation objective. Lorsque l'appréciation des preuves et la constatation des faits sont critiquées en référence au principe "in dubio pro reo", celui-ci n'a pas de portée plus large que l'interdiction de l'arbitraire (ATF 145 IV 154 consid. 1.1 p. 155 s. et les références citées).
1.2.
1.2.1. La cour cantonale a exposé que le recourant avait toujours contesté être l'auteur du coup de couteau qui avait été porté à l'intimé au niveau thoracique. La crédibilité des déclarations de l'intéressé était toutefois extrêmement faible, au regard de l'ensemble des éléments du dossier. Les indications fournies par l'intimé avaient certes varié au fil des auditions s'agissant des détails précis de l'attaque. Cependant, ses déclarations avaient été constantes concernant la trame générale des faits. Les propos de l'intimé pouvaient être considérés comme fiables, car ils avaient été confirmés par d'autres éléments probatoires, notamment la blessure subie au thorax, constatée par un ami puis par des médecins, ainsi que des taches de sang maculant ses habits au niveau du sternum. L'intimé avait en outre rapporté son agression à plusieurs personnes, dont l'ami chez lequel il s'était rendu après l'agression et qui avait soigné sa plaie. L'intimé avait, auprès de chacun de ces tiers, systématiquement désigné le recourant comme étant l'auteur du coup de couteau. Le témoignage de la voisine des intéressés, qui se souvenait avoir vu le recourant et l'intimé discuter sur les terrasses de l'immeuble le soir des faits aux alentours de minuit - ce qui corroborait la version des événements de ce dernier -, mais qui avait nié avoir partagé l'ascenseur avec lui ou vu le premier avec des couteaux, devait être considéré comme moyennement fiable. L'intimé n'avait en effet eu aucune raison de mentir concernant cette rencontre fortuite dans l'ascenseur. En outre, selon ses parents, ce témoin avait mentionné des couteaux lors d'une conversation avec la mère de l'intimé, quelques jours après les faits. Il était donc plus vraisemblable que cette voisine eût effectivement vu le recourant avec des couteaux le soir de l'agression, mais l'eût nié par crainte de représailles. Le recourant avait au demeurant concédé qu'il sortait de chez lui avec un ou plusieurs couteaux pour se défendre contre d'éventuelles attaques sur les terrasses, qu'il estimait mal fréquentées, ainsi le 28 septembre 2017, jour où il avait effectivement été interpellé avec un couteau de cuisine sur lui. Les messages SMS qui avaient été envoyés par le recourant à l'intimé avant la nuit de l'agression démontraient enfin son animosité envers ce dernier et confirmaient les explications de l'intéressé s'agissant du motif de leur rencontre le 5 août 2017. De surcroît, les constatations de l'expertise psychiatrique appuyaient cette version des événements, puisqu'il en ressortait que le recourant avait une propension à entrer en conflit, potentiellement de manière physique, avec des tiers, en raison des traits paranoïaques de ce dernier. Selon l'autorité précédente, le fait que l'intimé fût resté sur la terrasse avec son assaillant après l'agression et que tous deux eussent partagé des bières en discutant pouvait s'expliquer par l'état de choc dans lequel s'était trouvé l'intéressé, ainsi que par la peur apparente que lui inspirait le recourant. L'intimé avait d'ailleurs indiqué qu'il avait cherché à apaiser la situation de cette manière. Un tel comportement de la part de l'intimé n'excluait nullement que celui-ci eût été attaqué par le recourant et blessé par son couteau.
1.2.2. Ignorant les réquisits légaux en matière de contestation de l'établissement des faits, le recourant développe une argumentation purement appellatoire et, partant, irrecevable, par laquelle il substitue sa propre appréciation des preuves à celle à laquelle s'est livrée l'autorité précédente, sans démontrer en quoi celle-ci serait arbitraire. Le recourant ne montre pas qu'une constatation insoutenable aurait pu être tirée des déclarations successives de l'intimé ou du témoignage de la voisine ayant croisé ce dernier le soir des faits, mais se borne à rediscuter la crédibilité des différents propos tenus. On ne voit pas en quoi l'autorité précédente aurait pu verser dans l'arbitraire en relativisant les dénégations de ce témoin concernant la présence de couteaux sur le recourant. Au demeurant, à supposer même que ce témoin n'eût pas alors aperçu de couteaux, cela ne ferait pas apparaître l'état de fait de la cour cantonale comme arbitraire, la voisine en question n'ayant pas assisté à l'agression de l'intimé. Le recourant ne démontre pas davantage que des constatations insoutenables auraient pu être tirées des autres moyens probatoires - comme la teneur des messages SMS envoyés à l'intimé ou le fait qu'il fût interpellé avec un couteau de cuisine à une occasion - en se contentant de rediscuter librement la portée de ces éléments. Il en va de même lorsqu'il fait état de prétendues incohérences dans le comportement de l'intimé ou dans la version des faits retenue par l'autorité précédente, puisqu'il ne met en évidence aucun élément excluant le rôle qui lui a été attribué dans l'agression de celui-ci.
Enfin, c'est en vain que le recourant reproche à la cour cantonale d'avoir accordé un crédit exagéré aux déclarations des différentes personnes auxquelles l'intimé a rapporté son agression. Il convient à cet égard de rappeler que la preuve par ouï-dire (" vom Hörensagen ") n'est pas en tant que telle exclue en droit pénal (cf. art. 10 al. 2 CPP; arrêts 6B_324/2017 du 8 mars 2018 consid. 1.2.2; 6B_862/2015 du 7 novembre 2016 consid. 4.2), bien que le témoin concerné ne fasse que rapporter ce qui lui a été dit et ne puisse attester de la véracité des déclarations qui lui ont été faites (cf. arrêt 6B_862/2015 précité consid. 4.2). En l'occurrence, contrairement à ce que suggère le recourant, la cour cantonale n'a nullement déduit de ces témoignages indirects que la scène avait nécessairement dû se dérouler selon les déclarations qui avaient été faites aux intéressés par l'intimé, mais a uniquement relevé que ce dernier avait constamment désigné le recourant comme étant son agresseur auprès des tiers en question, ce qui venait renforcer la crédibilité de son récit. On ne distingue, dans cette appréciation des preuves, aucun arbitraire.
Au vu de ce qui précède, l'autorité précédente pouvait, sans verser dans l'arbitraire, retenir que le recourant était bien l'auteur du coup de couteau qui avait été asséné à l'intimé le soir des faits.
1.3.
1.3.1. Concernant les événements du 28 septembre 2017, la cour cantonale a exposé que, le jour en question, le recourant avait interpellé l'intimé à propos d'une somme d'argent qu'il estimait lui être due, puis s'était approché de lui en sortant deux couteaux de sa veste. Après que l'intimé eut réagi en faisant usage d'un spray au poivre puis en s'enfuyant, le recourant avait encore crié à son attention "je te tue, je te tue!". Lors de son audition par le ministère public, l'intimé avait affirmé que, étant habitué aux menaces du recourant à son égard, il n'avait pas été effrayé lorsque ce dernier lui avait dit qu'il allait le tuer. La vue des couteaux lui avait cependant rappelé de mauvais souvenirs et l'intéressé avait ressenti un mélange de colère et de peur. L'intimé avait pas la suite expliqué qu'il avait eu peur d'être blessé par les couteaux du recourant. Selon l'autorité précédente, l'usage d'un spray au poivre par l'intimé et sa fuite précipitée démontraient l'effroi dont celui-ci avait été saisi face au comportement menaçant du recourant, étant rappelé que cet épisode avait fait suite à l'agression au couteau perpétrée moins de deux mois auparavant. L'intimé savait, partant, de quoi le recourant était capable.
1.3.2. Le recourant commence par critiquer - de manière purement appellatoire - le crédit accordé par la cour cantonale aux déclarations de l'intimé, sans aucunement démontrer que les faits auraient été établis de manière arbitraire. Par ailleurs, dès lors qu'il est incontesté que le recourant a été interpellé par la police en possession d'un couteau après l'altercation, on ne voit pas dans quelle mesure une éventuelle correction de l'état de fait de la cour cantonale pourrait influer le sort de la cause (cf. art. 97 al. 1 LTF) sur le point de savoir si celle-ci pouvait retenir, sans arbitraire - et sur la base des déclarations de l'intimé - que l'intéressé avait exhibé deux couteaux et non pas un seul devant l'intimé.
Pour le reste, le recourant conteste que l'intimé eût été effrayé au cours de l'échauffourée. Un tel élément constitue une question de fait (cf. arrêt 6B_1314/2018 du 29 janvier 2019 consid. 3.2.1 et les références citées). Devant la police, l'intimé a décrit la scène en indiquant que le recourant l'avait suivi, avait sorti deux couteaux de cuisine de sa veste, s'était approché de lui "de manière menaçante", s'apprêtant selon l'intéressé à lui "planter un couteau". L'intimé avait donc réagi en usant de son spray au poivre, avant de prendre la fuite (cf. pièce A-1 du dossier cantonal, p. 5). Devant le ministère public, il avait certes tout d'abord déclaré avoir ressenti de "l'indifférence" en entendant le recourant crier "je te tue, je te tue!" et ne pas avoir été effrayé, étant habitué à "ce type de menaces de sa part". L'intéressé a néanmoins précisé par la suite avoir éprouvé de la peur lorsqu'il avait aperçu les couteaux, en avouant avoir des difficultés à décrire précisément ce qu'il avait ressenti (cf. pièce C-34 du dossier cantonal, p. 6). Enfin, lors des débats d'appel, l'intimé a déclaré avoir, lors de l'altercation, eu peur d'être "blessé avec les couteaux" (cf. PV d'audience du 25 novembre 2019, p. 7). Ainsi, il n'était nullement arbitraire, de la part de la cour cantonale, de retenir que l'intimé avait été effrayé par les agissements du recourant, celui-ci ayant craint d'être à nouveau attaqué au couteau.
1.4. Compte tenu de ce qui précède, le grief doit être rejeté dans la mesure où il est recevable.
2.
Le recours doit être rejeté dans la mesure où il est recevable. Comme il était voué à l'échec, l'assistance judiciaire ne peut être accordée (art. 64 al. 1 LTF). Le recourant devra supporter 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 (art. 65 al. 2 LTF). L'intimé, qui n'a pas été invité à se déterminer, ne saurait prétendre à des dépens.
Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté dans la mesure où il est recevable.
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 de justice de la République et canton de Genève, Chambre pénale d'appel et de révision.
Lausanne, le 1 er avril 2020
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
Le Greffier : Graa