¼ÓÈëÊÕ²Ø | ÉèΪÊ×Ò³ | »áÔ±ÖÐÐÄ | ÎÒҪͶ¸å Àî´óͬ £¨https://www.lidatong.com.cn/£©- ¿Æ¼¼¡¢½¨Õ¾¡¢¾­Ñé¡¢ÔƼÆËã¡¢5G¡¢´óÊý¾Ý,Õ¾³¤Íø!
µ±Ç°Î»Ö㺠Ê×Ò³ > ×ۺϾ۽¹ > ·þÎñÆ÷ > °²È« > ÕýÎÄ

scalaҪôģʽƥÅä

·¢²¼Ê±¼ä£º2020-12-16 19:17:51 ËùÊôÀ¸Ä¿£º°²È« À´Ô´£ºÍøÂçÕûÀí
µ¼¶Á£ºÕâ¶Î´úÂëÓÐʲôÎÊÌ⣿ (Left("aoeu")) match{case Right(x) = ; case Left(x) = } console:6: error: constructor cannot be instantiated to expected type; found : Right[A,B] required: Left[java.lang.String,Nothing] ΪʲôģʽƥÅäÆ÷ûÓÐÌø¹ýÓұ߲¢
Õâ¶Î´úÂëÓÐʲôÎÊÌ⣿

(Left("aoeu")) match{case Right(x) => ; case Left(x) => }
<console>:6: error: constructor cannot be instantiated to expected type;
 found   : Right[A,B]
 required: Left[java.lang.String,Nothing]

ΪʲôģʽƥÅäÆ÷ûÓÐÌø¹ýÓұ߲¢¼ì²é×ó£¿

½â¾ö·½·¨

ÒþʽÀàÐÍÍƶÏLeft(¡°aoeu¡±)ÊÇLeft [String,Nothing].ÄúÐèÒªÃ÷È·¼üÈëËü.

(Left("aoeu"): Either[String,String]) match{case Right(x) => ; case Left(x) => }

ËƺõģʽƥÅäºòÑ¡Õß±ØÐëʼÖÕÊÇÆ¥ÅäÆ¥ÅäÖµµÄÀàÐÍ.

scala> case class X(a: String) 
defined class X

scala> case class Y(a: String) 
defined class Y

scala> X("hi") match {  
     | case Y("hi") => ;
     | case X("hi") => ;
     | }
<console>:11: error: constructor cannot be instantiated to expected type;
 found   : Y
 required: X
       case Y("hi") => ;
            ^

ΪʲôËü»áÏñÕâÑù£¿ÎÒ»³ÒÉûÓгä·ÖµÄÀíÓɳ¢ÊÔÆ¥Åä²»¼æÈݵÄÀàÐÍ.ÊÔͼÕâÑù×ö±íÃ÷¿ª·¢ÈËԱûÓÐд³öËûÃÇÕæÕýÏëÒªµÄ¶«Î÷.±àÒëÆ÷´íÎóÓÐÖúÓÚ·ÀÖ¹´íÎó.

£¨±à¼­£ºÀî´óͬ£©

¡¾ÉùÃ÷¡¿±¾Õ¾ÄÚÈݾùÀ´×ÔÍøÂ磬ÆäÏà¹ØÑÔÂÛ½ö´ú±í×÷Õ߸öÈ˹۵㣬²»´ú±í±¾Õ¾Á¢³¡¡£ÈôÎÞÒâÇÖ·¸µ½ÄúµÄȨÀû£¬Ç뼰ʱÓëÁªÏµÕ¾³¤É¾³ýÏà¹ØÄÚÈÝ!

    ÍƼöÎÄÕÂ
      ÈȵãÔĶÁ