在java中以下单例获取异常

时间:2017-01-14 14:15:43

标签: java design-patterns singleton

我已经给出了以下问题

在编辑器中完成Singleton类,其中包含以下组件:

A private Singleton non parameterized constructor.
A public String instance variable named .
Write a static method named getSingleInstance that returns the single instance of the Singleton class.

提交后,我们隐藏的Solution类将以String作为输入检查您的代码,然后使用Singleton类打印一行。

输入格式

You will not be handling any input in this challenge.

输出格式

You will not be producing any output in this challenge.

示例输入

hello world

示例输出

Hello I am a singleton! Let me say hello world to you

对于这个挑战,我设计了以下类

class Singleton  implements Cloneable,Serializable {

public static volatile Singleton str = null; 

   private  Singleton ()
   {

       if (str!=null)
       {
           throw new IllegalStateException("object already instaniated");
       }
   }



   public static Singleton getSingleInstance()
   {
       if (str==null)
           synchronized (Singleton.class)
           {
               if (str==null)
               {
                   str= new Singleton(); 
               }

        }
       return str ;
   }}

但现在我得到以下异常,请告知如何克服这个

Main.java:66: error: incompatible types
    s1.str=str;
           ^
  required: Singleton
  found:    String
Main.java:67: error: incompatible types
    s2.str=str;
           ^
  required: Singleton
  found:    String
2 errors

伙计们请告知

1 个答案:

答案 0 :(得分:0)

你的单身人士课程中的str本身就是一个单身人士。错误显示您正在为单例分配字符串,这显然是不可能的。