血型 知识
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了血型 知识相关的知识,希望对你有一定的参考价值。
参考技术A 血型系统血型系统(blood group system)是根据红细胞膜上 同种异型 (或表型) 抗原 关系进行分类的组合。 红细胞 抗原决定簇 可引起同种异型 免疫应答 ,也可引起异种免疫应答。在鉴定人的血型时,一般是用特异性的人抗血清进行 凝集反应 。每一个血型系统都是独立遗传的,控制一个血型系统的 遗传基因 大多是在同一条染色体上。目前发现的人类血型系统有35个,但在临床试验中,ABO血型系统和Rh血型系统的临床意义最为重要。
中文名 血型系统
外文名 blood group system
根 据 红 细胞膜 上 同种异型 抗原 关系
用 途 鉴定人 的 血型
形 式 血液 抗原
类 型 遗传 性状
卡尔·兰德施泰纳 (Karl Landsteiner)(1900年)发现的人类第一个血型系统。其 红细胞 上的 抗原 和血清中的抗体如表1所示。
ABO血型由A、B和O三个 等位基因 控制遗传。其中A和B基因是 显性基因 ,O基因是 隐性基因 。染色体上基因内容的组合( 基因型 或遗传型)与红细胞上表现的抗原(表型)关系如表2所示。
O型红细胞上虽然没有A和B抗原,但有H抗原。H抗原也是A和B抗原的基础。ABH
血型系统
抗原 不但表现在 红细胞 上,而且可以在体液中游离存在。80%的人在唾液中含有ABH抗原,这种人称为分泌型者;在唾液中没有ABH抗原的人称为非分泌型者。分泌能力也受遗传的控制。
ABO血型系统与其他血型系统不同,具有“天然”的抗体,例如,A型者有抗B抗体,B型者有抗A抗体,O型者有抗A抗B抗体。这种抗体是因出生后接受自然环境中具有同样特异性的 抗原性 物质的隐性免疫作用而产生的。
血型的调查和建档对于了解种族关系用处很大。
基因
科学研究发现,控制人类的ABO血型的 遗传基因 有3个:IA、IB、i。
其中,IA和IB对i为显性,IA、IB间无显隐性关系。
也就是说:
A型血的基因组成可以是IAIA或IAi;
B型血的基因组成可以是IBIB或IBi;
AB型血的基因组成是IAIB;
O型血的基因组成是ii。
鉴定
通常只用两种抗血清即抗A及抗B血清,就可将群体分为四种血型。
Rh是 恒河猴 (Rhesus Macacus)外文名称的头两个字母。兰德施泰纳等科学家在1940年做动物实验时,发现恒河猴和多数人体内的 红细胞 上存在Rh血型的 抗原物质 ,故而命名的。凡是人体血液红细胞上有Rh 抗原 (又称D抗原)的,称为Rh阳性。这样就使已发现的红细胞A、B、O及AB四种主要血型的人,又都分别一分为二地被划分为Rh阳性和阴性两种。随着对Rh血型的不断研究,认为Rh血型系统可能是红细胞血型中最为复杂的一个血型系。Rh血型的发现,对更加科学地指导输血工作和进一步提高新生儿溶血病的 实验诊断 和维护母婴健康,都有非常重要的作用。根据有关资料介绍, Rh阳性血型 在我国汉族及大多数民族人中约占99.7%,个别少数民族约为90%。在国外的一些民族中,Rh阳性血型的人约为85%,其中在欧美 白种人 中,Rh阴性血型人约占15% 。在我国,RH阴性血型只占千分之三到四。RH阴性A型、B型、O型、AB型的比例是3:3:3:1。
RH阴性者不能接受RH 阳性 者血液,因为RH阳性血液中的 抗原 将刺激RH阴性人体产生RH抗体。如果再次输入RH阳性血液,即可导致 溶血性输血反应 。但是,RH阳性者可以接受RH阴性者的血液。
临床意义
1.防止Rh血型系统所致的溶血性输血反应:Rh阴性患者如输入Rh阳性血液后便可刺激机体产生抗Rh抗体,当再次输入Rh阳性血液时,就会发生溶血性输血反应。如Rh阴性妇女曾孕育过Rh阳性胎儿,当输入Rh阳性血时亦可发生 溶血反应 。所以需要输血的患者和供血者,除检查ABO血型外,还应做 Rh血型鉴定 ,以避免这种情况的发生。
2.Rh 阳性 红细胞 引起的 新生儿溶血症 :Rh阴性的母亲孕育了Rh阳性的胎儿后,胎儿的红细胞若有一定数量进入母体时,即可刺激母体产生抗Rh阳性抗体,如母亲再次怀孕生第二胎时,此种抗体便可通过胎盘,溶解破坏胎儿的红细胞造成新生儿溶血。若孕妇原曾输过Rh阳性血液,则第一胎即可发生新生儿溶血。
RH血型系统,其中含有5种 抗原 ,即C、c、D、E、e(不存在d抗原)。其抗原强弱顺序为D、E、c、C、e。凡红细胞含D抗原者为Rh阳性,否则为阴性。Rh血型无天然抗体,其抗体多由输血(Rh阴性者被输入Rh阳性血液)或妊娠(Rh阴性母亲孕育着Rh阳性胎儿)免疫生成,具有重要临床意义。一旦形成抗体,如再输入Rh阳性血液,可发生严重 输血反应 。再孕育Rh阳性胎儿可发生新生儿溶血症。
因此RH阴性的女性在输了RH阳型的血后,血液里产生了抗体,就不能再怀RH 阳性 的孩子了,否则婴儿多半难以存活。也有部分存活胎儿由于溶血所产生的大量胆红素进入脑细胞,引起新生儿中枢神经细胞病变,(称为核黄疸。核黄疸残废率极高)即使幸存也会影响病儿的智力发育和运动能力。
女性如果不输RH阳性的血,则可生育第一胎,这是由于第一胎怀孕时,孕妇体内产生的抗体量较少,还不足以引起胎儿发病。如果第一胎是RH阳性,那么以后就不能继续生育了。
如果男性是RH阴性,那么生完RH 阳性 的孩子后也不要生育第二胎。但是男性输完RH阳性的血后不会丧失生育能力。
RH阴性者自我保护
血液只能同型输注,即A型Rh(-)患者只能输A型Rh(-)血,B型的只能输B型Rh(-)血,假如您生病或手术需要输血时,您一定要将您是Rh(-)血型的情况告知医生,以便医生及早和市血站联系,组织您所需要的Rh(-)血源。假如您是未婚女性,请您做好计划生育以避免 人工流产 ,若您已有流产或输血史,妊娠期务必到血站血型室进行新生儿溶血病的预测检查,以防止今后新生儿溶血病的发生。
您知道血型工作者已经为您做好了哪些工作吗?
紧急情况时能否及时向Rh(-)患者供应同型血液是一件生命攸关的大事,血站的血型工作者以保障每一位Rh(-)患者的输血安全为己任,常年不懈地对数以万计的供血人群进行Rh(-)血型筛选,一旦筛选到Rh(-)血,这袋血就立即做上特殊的标记并保存在4℃冰箱中以备急需。
RH阴性者输血保障
尽管输血工作者防患于未然已竭尽全力,但紧急情况时Rh(-)者可能缺乏同型血而危机生命的潜在危险依然存在。其实,消除这一困扰的方法很简单:即所有Rh(-)者同舟共济,在随时作为可能的受血者的同时,也随时作为一名高尚的供血者,这样您和所有的Rh(-)者的生命都将得保障。有些血型抗体是 不完全抗体 ,与相应的 抗原 细胞结合后看不出凝集现象,血清中有抗体但不容易发现。1945年 抗人球蛋白试验 应用到血型检查中来,这种试验就可检查不完全抗体,从此,许多 血型抗原 陆续被人发现。每当发现一个新抗原后就要确定这一抗原与已经发现的血型是什么关系,这样在人的 红细胞 上便确定了若干血型系统。此外,还有一些抗原,或因其在群体中出现的频率太高,或因其在群体中分布的频率太低,对它们无法进行遗传学分析。在没有弄清它们的遗传关系以前,暂且把这些抗原分别叫做高频率抗原及低频率抗原,对于它们的归属有待进一步确定。
红细胞膜中夹杂着3种蛋白质: 糖蛋白 、简单蛋白及膜收缩蛋白。 红细胞 抗原 有些突出在细胞表面,好像伸出在地面上的树枝,如ABH抗原;有些镶嵌在细胞膜内,如Rh抗原。抗原与抗体发生特异反应的部分,叫做 抗原决定簇 。血型抗原决定簇的化学组成,有的已经清楚,但大部分不清楚。有些血型在体液中存在可溶性抗原,叫做血型物质。从人体分离出来的ABH及Lewis血型物质是糖蛋白,即在 肽链 的骨架上连接着一些糖的侧链,这些糖链便是特异性决定簇。ABH及Lewis血型物质的特异性决定簇很相似,只是在糖链上个别糖的种类或同一种糖由于存在位置不同,就显出不同的特异性。比如A与B的 抗原特异性 ,只是在糖链上有一个糖不相同,便显示出不同的特异性。A 抗原决定簇 在糖链的终末端是一个 N-乙酰半乳糖胺 ,而B抗原决定簇在糖链的终末端却是一个D-半乳糖。
红细胞 上的ABH抗原决定簇,虽与体液中的抗原决定簇糖链结构相同,但连接的骨架不同。红细胞上的糖链是通过神经鞘氨醇与脂肪酸结合在一起,而不是与蛋白质结合在一起,所以红细胞上的ABH 抗原 是糖脂而不是糖蛋白。
MN·P及I血型的抗原决定簇也是碳水化合物。Rh抗原的决定簇可能是蛋白质,因为红细胞经硫氢化物、脲素及 蛋白酶 等物处理后,Rh活性即行消失。
有一些血型抗体,如抗IH,抗IA,抗IB,抗IP1等,只与带有I抗原及另外一个抗原的细胞发生反应,而不与其中只有一个抗原的细胞发生反应。说明这些抗原为复合抗原,在一个分子上具有两种特异性。
Lewis 血型抗原 实际上是血浆中的抗原, 红细胞 上的Lewis抗原是从血浆中吸附来的。I抗原在 分泌液 中虽有可溶性抗原,但不存在于血浆中。另外有些血型是在血浆中存在可溶性抗原,分泌液中却不存在。Bg 抗原 实际是 白细胞 的抗原,可能从白细胞脱落到血浆中,再从血浆中吸附到红细胞上,表现为红细胞的抗原。Chido血型及Rodger血型的抗原与血浆中的补体第四成分(C4)有关。用电泳方法分析人的C4,可以见到3种类型:泳动快的(F);泳动慢的(S);快慢两种成份都有的(FS)。血浆中只有F成份的人, 红细胞 上有Rodger抗原。只有S成份的人,红细胞上有Chido抗原。两种成份全有的人,红细胞上也同时具有Chido及Rodger两种抗原。
各种 血型抗原 在红细胞上的分布是不同的,有的密集,有的疏松。抗原数目的多少决定了抗原的强弱。用放射性碘标记的兔抗A及抗B血清,检查人的红细胞,根据每个细胞上的放射性强度,可推算出每个红细胞上的 抗原 数目。
各种血型抗原在个体发育不同阶段强度是不相同的。新生儿的ABO及Lewis抗原与其相应的抗体之反应较成人细脆弱。不到10厘米的胎儿之红细胞就能与抗P1血清发生反应,但其反应强度较成人红细胞弱。新生儿的 红细胞 吸收抗I的能力几乎与成人红细胞一样,但 凝集反应 强度远较成人红细胞弱。可是与抗i血清的凝集却比成人红细胞强。Yta及Xga抗原在新生儿红细胞上稍较成人红细胞弱,而Rh、Kell、Duffy、Jk、MNSs、Di及Do等系统的抗原在出生时已发育完全。Chido血型的抗原在新生儿血浆中可以检出,但在红细胞上不能发现。
抗体是 免疫球蛋白 ,但不一定所有免疫球蛋白都是抗体。只要具有抗体结构的糖蛋白便为免疫球蛋白。免疫球蛋白以Ig表示,现已发现人类具有五类免疫球蛋白,分别叫做IgG、IgM、IgA、IgD及IgE。与血型有关的免疫球蛋白只有三类,即IgG、IgM及IgA三类。
根据抗体在体内出现是否有可查觉的 抗原 刺激,有所谓“ 天然抗体 ”及“免疫性抗体”之分。凡未经抗原刺激就在体内的血清中出现的抗体,叫做“天然抗体”;机体受同种或 异种抗原 的刺激后血清中所产生的抗体,叫作免疫性抗体。
对于“天然抗体”的产生有两种解释:一种说法认为在体内存在“抗原致敏”细胞,不需要抗原刺激就能产生特异性抗体;另一种解释认为“天然抗体”是异种凝集素,周围环境存在着一些与 血型抗原 相似的物质,机体接触这些物质后,所产生的交叉 反应抗体 。比如某些细菌含有与人的A,B抗原相似的抗原,当人们吸入或吞下这些细菌后,便产生交叉反应抗体。
“天然抗体”在低温与其相应的抗原细胞反应强,有很多“天然抗体”当温度超过25℃时即无活性。有的“ 天然抗体 ”有结合补体的能力,有的则没有。如Lewis血型抗体几乎都有结合补体的能力,而抗M及抗N就没有结合补体的能力。“天然抗体”通常是IgM免疫球蛋白,但有些“天然抗体”却是IgG免疫球蛋白。如有的抗Lea,抗M、抗N及抗K“天然抗体”是IgG。
免疫性抗体则是指机体受同种或 异种抗原 刺激后处于超免疫状态而产生的抗体。输血、妊娠是产生同种 免疫抗体 的主要原因。接受菌苗、 抗血清 ( 白喉 、 破伤风抗毒素 )注射,以及使用过猪的胃、肝浸液的人,血清中的抗A、抗B效价升高,是异种免疫引起的 免疫性 抗体的例子。免疫性抗A及抗B,在许多方面与“ 天然抗体 ”不同。
有的抗体与其相应的 抗原 细胞在盐水介质中即可出现凝集,这样的抗体称为完全抗体;有的抗体在盐水介质中只能与其相应的抗原细胞结合(致敏),但不能出现凝集,这样的抗体称为 不完全抗体 。欲使不完全抗体与其相应的抗原细胞出现凝集,还需借助其他介质,如酶处理 红细胞 ,或将红细胞悬浮在大分子胶体液中,或利用抗球蛋白血清的帮助。实际上完全抗体一般是指IgM类型的抗体,而不完全抗体多为IgG类别的抗体。IgA主要在 分泌液 中,在血型抗体中不占主要位置。
ABO血型
物质除存在于红细胞膜上外,还出现于唾液、胃液、 精液 等 分泌液 中。中国60%汉族人唾液中有ABO血型物质。血型物质的化学本质是指构成 血型抗原 的糖蛋白或糖脂,而血型的特异性主要取决于血型抗原糖链的组成(即血型抗原的决定簇在糖链上)。A、B、H3种血型抗原化学结构的差异,仅在于糖链末端的1个单糖。A 抗原 糖链末端为N-乙酰半乳糖,而B抗原糖链末端为半乳糖,H抗原和A、B抗原相比则糖链末端少1个半乳糖或N-乙酰半乳糖。1981年已有人用绿咖啡豆酶(半乳糖苷酶)作用于B型 红细胞 ,切去B抗原上的半乳糖,从而使B型转变成O型获得成功。
E.von邓格恩及L. 希尔斯 费尔德于1911年发现A血型的亚型。他们看到不同A型人的红细胞与抗A血清发生 凝集反应 的强度不一,在反应弱的A型人血清中还有一种抗体能与反应强的A型红细胞发生凝集反应。据此认为在A型中存在亚型;即A1及A2亚型。A1.型红细胞与抗A血清(来自B或O型人)反应强,而A2型红细胞与抗A血清反应弱。而且在部分A2型人的血清中,除存在的抗B外,还有不规则的抗A1。在B型人血清中有两种抗体:抗A及抗A1。抗A能与A1及A2细胞发生反应;抗A1只与A1细胞发生反应。A1型 红细胞 上有A及A1两种 抗原 。A2细胞上只有A抗原。AB型也可分为A1B及A2B等亚型。此外还有一些其他亚型。
MN血型
红细胞膜上另一类 血型抗原 叫MN抗原,即红细胞膜上的血型糖蛋白A。它在SOS凝胶电泳谱上显示两条区带,即PAS-1和PAS-2,血型糖蛋白A是两者的二聚物。已知血型糖蛋白A由131个氨基酸组成,其一级结构已测定(图2)。血型糖蛋白A的肽链呈三节式结构,中间第73~92号氨基酸为疏水性肽链,可横穿膜脂层;N端肽链位于膜外侧,与血型活性有关,在这段肽链上分布有15条O-糖苷键型糖链和1条N-糖苷键型糖链,糖链中唾液酸占红细胞膜上全部唾液酸的一半以上;C端肽链位于膜内侧,含较多酸性氨基酸。
MN 抗原 由M抗原和N抗原两部分组成,如果用神经氨酸酶将M抗原切去1个唾液酸( N-乙酰神经氨酸 ),则为N抗原,如再切去一个唾液酸则 抗原性 完全失去。MN抗原的抗原性还和肽链上的氨基有关,若将氨基用乙酰基保护后即失去抗原性。
白细胞血型HLA
HLA是 人类白细胞抗原 中最重要的一类。与 红细胞 血型相比,人们对 白细胞 抗原 的了解较晚,人体第一个白细胞抗原Mac是1958年法国科学家J.多塞发现的。HLA是人体白细胞抗原的英文缩写,已发现HLA抗原有144种以上,这些抗原分为A、B、C、D、DR、DQ和DP7个系列,而且HLA在其他细胞表面上也存在。
HLA抗原是一种糖蛋白(含糖为9%),其分子结构与免疫球蛋白极相似(图3)。HLA分子由4条肽链组成(含2条轻链和2条重链),重链上连接2条糖链。HLA分子部分镶嵌在细胞膜的双脂层中,其插入膜的部分相当于免疫球蛋白IgG的Fc区段,轻链为β-微球蛋白。由于分子结构上的相似,故HLA与有保卫功能的 免疫防御 系统密切相关。
此外,HLA和 红细胞 血型一样都受遗传规律的控制。决定HLA型的基因在第6对染色体上。每个人分别可从父母获得一套染色体,所以一个人可以同时查出A、B、C、D和DR5个系列中的5~10种 白细胞 型,因此表现出来的各种白细胞型有上亿种之多。在无血缘关系的人间找出HLA相同的两个是很困难的。但同胞兄弟姊妹之间总是有1/4机会HLA完全相同或完全不同。因此法医鉴定亲缘关系时,HLA测定是最有力的工具。
血型不仅在输血上有重要意义,而且在人种学、遗传学、 法医学 、 移植免疫 、疾病抵抗力(或 易感性 )等方面都有应用价值,在输血前,一定要检查病人(受血者)和输血人(供血者)的血型,并且要进行 交叉配血试验 。在临床医学中,除输血、移植免疫外,对 新生儿溶血病 、 自身免疫性溶血性贫血 特异性抗体的检查,也都需要血型知识和有关技术。
稀有血型就是一种少见或罕见的血型。这种血型不仅在ABO血型系统中存在,而且在稀有血型系统中也还存在一些更为罕见的血型。随着血型血清学的深入研究,科学家们已将所发现的稀有血型,分别建立起的稀有血型系统,如RH、MNSSU、P、KELL、KIDD、LUTHERAN、DEIGO、LEWIS、DUFFY以及其他一系列稀有血型系统。
还有一种叫孟买型的 稀有血型 系统,在这种血型的 红细胞 上,没有A、B和H 抗原 ,但在血清中却同时存在A、B和抗H三种抗体。
在稀有血型系统中,除RH血型系统外,其他各血型人数在总人口中所占比例非常小。因此,它们在实际的临床上远没有ABO及RH血型系统重要,但是,就其具体来说,如用血不当,有些抗体仍可出现致命的恶果。 随着社会的进步,人民生活水平的提高,开展稀有血型的检测,建立完整的稀有血型档案,对于保障广大群众的身体健康和适应我国改革开放形势的需要,都具有深远的意义。
基本上,O型是世界上最常见的血型。但在某些地方,如 挪威 ,A型血型的人较多。A型 抗原 一般比B型抗原较常见。AB 型血型因为要同时有A及B抗原,故此亦是ABO血型中最少的。ABO血型分布跟地区及种族有关。
血型的性格在幼儿期、少年期、青春期、中年期、老年期各有不同。一个人走向社会,从参加工作后,由新手成为骨干,由下级成为上级,由工作直到退休,这期间其性格也都在不断地变化。在这种变化中,可以看到不同血型的许多特征。当然,血型与性格之间也并不是必然联系,只能作为一种参考。
A型人小时候比较任性,年轻时性格果断刚毅,时时处处要强。走向社会后,随着年龄的增长和社会经验的积累,他们开始克制自己的情绪,表现出稳重谦虚的态度,容易成为不愿过份表现自己的谨慎派。A型人在老年时,则显得很固执。
B型人大都有一个天真浪漫的幼年期,随着年龄的增长,逐渐分成心直口快和不擅交际应酬型两种倾向。B型人由于性格自幼到老变化不大,相对来说会让人感到他们越活越年轻。
O型人年少时比较温顺,但随着年龄的增长,他们会积极地呈现出强烈的自我主张和自我表现,甚至成为非常有魄力的人。O型人从小至老的变化是最大的,往往是少年温顺,老来强硬。
AB型人大多小时候怕陌生人,很闭塞,但长大以后善交朋友,交际广泛。AB型人因过于自信,容易自满,老年时给人感觉很傲慢。
过去人们认为只有人才有血型,已知狗、鸡和许多动物都有血型系统。生长在美国缅因海湾的角鲨有4种血型。 大马哈鱼 至少有8种 抗原 类型或类型的组合。这些不同类型的出现通常随不同地区的种群而异。家畜也有血型,马有4种,牛有3种,猪也有4种。在人类学上,根据A型、B型及AB型三型的出现率的多少组成一个指数叫做种族生化指数来研究各种血型在各人种中的分布规律。O型的高频率分布在欧洲西北部、西南非、部分澳大利亚及南印度和中美洲;B型的最高频率分布于中亚及北印度;A型在欧洲、西亚及澳大利亚南部的土著中的是最高的,而在某些美洲印第安人部族中是最高的。
灵长类 的血型可以通过抗A和抗B血清来测定。 黑猩猩 的血全部属于O型或A型, 猩猩 属于B型, 大猩猩 有B型也有A型, 长臂猿 血型有A型、B型及AB型。低等灵长类在红血球里没有 抗原 ,但在它们的唾液里分泌ABO抗原。旧大陆猴大多数是血型A型, 新大陆猴 血型也是A型,但个别的在唾液里有象B一样的抗原。在某些灵长类中发现具有类似人类M的抗原,如在黑猩猩体内发现了具有M血型和N血型,在灵长类中也发现具Rh抗原的。
大数据第11天
1.定义罪犯Criminal类,height(身高)/weight(体重)/blood(血型)/home(籍贯)属性。
重写hashcode和equals,使用四个属性的组合进行实现。
创建HashSet集合,里面存放20个Criminal对象,其中O型血2人,A型血3人,B型血4人,AB型血1人,其余血型不详。
注意:hashcode()方法实现时,要求身高、体重、和血型三个属性合成一个数字,实现两两比较的高效算法。
2.Map:
-----------
key(键) - value(值) :kv对.
创建HashMap,Person为key,Dog为value。
存放100元素,遍历map集合,两种方式。EntrySet + KeySet.
删除操作。remove();
1.
package it18zhang; public class ArrayTools { /* * 整数转换为字节数组;向右移位;截断后或运算 * */ // public static void main(String[] args) { // TODO Auto-generated method stub // } public static byte[] int2Bytes(int i){ /* * 整数转换为字节数组 */ byte[] bytes=new byte[4]; bytes[0]=(byte) i; bytes[1]=(byte)(i>>8); bytes[2]=(byte)(i>>16); bytes[3]=(byte)(i>>24); return bytes; } /** *字节转换为整数,向左移位 */ public static int bytes2Int(byte[] bytes){ int i0=bytes[3]<<24; int i1=(bytes[2]&0xFF)<<16; int i2=(bytes[1]&0xFF)<<8; int i3=(bytes[0]&0xFF)<<0; return i0|i1|i2|i3; } }
package it18zhang; public class ArrayTools { /* * 整数转换为字节数组;向右移位;截断后或运算 * */ // public static void main(String[] args) { // TODO Auto-generated method stub // } public static byte[] int2Bytes(int i){ /* * 整数转换为字节数组 */ byte[] bytes=new byte[4]; bytes[0]=(byte) i; bytes[1]=(byte)(i>>8); bytes[2]=(byte)(i>>16); bytes[3]=(byte)(i>>24); return bytes; } /** *字节转换为整数,向左移位 */ public static int bytes2Int(byte[] bytes){ int i0=bytes[3]<<24; int i1=(bytes[2]&0xFF)<<16; int i2=(bytes[1]&0xFF)<<8; int i3=(bytes[0]&0xFF)<<0; return i0|i1|i2|i3; } } package it18zhang; public class Criminal { private int height; private int weight; private String blood; private String home; public Criminal(int height,int weight,String blood){ if(height <= 0){ System.out.println("身高不能为负数"); System.exit(-1); }else if(weight<=0){ System.out.println("体重不能为负数"); System.exit(-1);; }else if(blood == "A" && blood == "B" && blood =="AB" && blood =="O"){ System.out.println("血型不正确"); System.exit(-1); }else if(home==null){ System.out.println("无家可归"); System.exit(-1); }else{ this.height=height; this.weight=weight; this.blood=blood; this.home=home; } } public int getHeight() { return height; } public void setHeight(int height) { this.height = height; } public int getWeight() { return weight; } public void setWeight(int weight) { this.weight = weight; } public String getBlood() { return blood; } public void setBlood(String blood) { this.blood = blood; } public String getHome() { return home; } public void setHome(String home) { this.home = home; } /* * 重写hasecode方法 */ public int hashCode(){ int i0=0<<24; int i1=(ArrayTools.int2By) } public boolean equals(Object obj){ if(obj==null) return false; if(obj==this) return true; if(obj.getClass()==Criminal.class) { Criminal c=(Criminal) obj; if(c.blood==this.blood && c.height==this.height && c.weight==this.weight && c.home==this.home){ return true; } } return false; } } 2.package it18zhang; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; public class HashMapTest { public static void main(String[] args) { // TODO Auto-generated method stub Map<Person,Dog> map=new HashMap<Person,Dog>(); List<Person> keys=new ArrayList<Person>(); for(int i=0;i<100;i++){ Person p=new Person("person"+i,i); map.put(p,new Dog("dog"+i,i)); keys.add(p); } System.out.println("-----keySet-------"); for(Person p : map.keySet()){ System.out.println(p.getName()+" "+map.get(p).getName()); } System.out.println("----------EntrySet----------"); for(Entry<Person,Dog> entry : map.entrySet()){ System.out.println(entry.getKey().getName()); } } } package it18zhang; public class Person { private String name; private int age; public Person(String name,int age){ super(); this.age=age; this.name=name; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } package it18zhang; public class Dog { private String name; private int age; public Dog(String name,int age){ super(); this.name=name; this.age=age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
以上是关于血型 知识的主要内容,如果未能解决你的问题,请参考以下文章