用_引_软

/*******************************************************************************
* Copyright(c) 2005-2009 Huawei Tech. Co., Ltd.
* All rights reserved.
*
* Author: xbliuc
* Date  : 2011-3-20
*******************************************************************************/
package com.huawei.m2m.codegen.core.jet.xpath;

import java.lang.ref.SoftReference;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

/**
* 软引用
*/
public class Test
{
    private String name;
   
    private String pass;
   
    private Test(String name, String pass)
    {
        this.name = name;
        this.pass = pass;
    }
   
    private static final Set<SoftReference<Test>> softReference = new HashSet<SoftReference<Test>>();
   
    /**
     * TODO 添加方法注释
     * @param names
     * @param passs
     * @return Test
     */
    public static Test valueOf(String names, String passs)
    {
        Iterator<SoftReference<Test>> iterator = softReference.iterator();
        while (iterator.hasNext())
        {
            SoftReference<Test> ref = iterator.next();
            Test test = ref.get();
            if (test != null && test.name.equals(names)
                    && test.pass.equals(passs))
            {
                return test;
            }
        }
        Test test = new Test(names, passs);
        softReference.add(new SoftReference<Test>(test));
        return test;
    }
   
    /**
     * TODO 添加方法注释
     * @param args
     */
    public static void main(String[] args)
    {
        Test test = Test.valueOf("a", "b");
        Test test2 = Test.valueOf("a", "b");
        Test test3 = Test.valueOf("aa", "b");
        System.out.println(test == test2); //return true
    }
}

你可能感兴趣的:(java,C++,c,C#)