⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stringbuffer.jsc

📁 《JavaScript王者归来》examples.rar
💻 JSC
字号:
# language: JSVM2

/**
 * @fileoverview js.lang.StringBuffer class {@link http://jsvm.org/}
 * @file		StringBuffer.jsc
 * @author	Wan Changhua * @version	2.01, 10/23/05 * @since		JSVM2.0
 */

package js.lang;

/** * Create a new StringBuffer instance.
 * A string buffer implements a mutable string, it can be modified.
 * Inherit from JObject
 * @author	Wan Changhua
 * @version	2.01, 10/23/05 * @extends JObject * @class this is a StringBuffer class
 * @constructor
 * @final * @return A new StringBuffer instance
 * @see JObject js.lang.JObject is the base class for this */

class StringBuffer (s)
{
	/**
	 * @private
	 */
	var strs = [];
	var str = null;
	var curr = 0;

	/**
	 * Appends the string to this string buffer. 
	 * @param {String} s a string
	 * @return  a reference to this <code>StringBuffer</code>.
	 * @type StringBuffer	 */
	this.append = function(s)
	{
		strs[curr++] = String(s);
		str = null;
		return this;
	}

	/**
	 * Inserts the string representation of a subarray of the <code>str</code>
	 * @param {int} index position at which to insert subarray.
	 * @param {String} s a string.
	 * @return  This string buffer.
	 * @type StringBuffer	 */
	this.insert = function(index, s)
	{
		var v = this.toString();
		str = v.substring(0, index) 
			+ s + v.substring(index);
		strs = [str];
		curr = 1;
		return this;
	}

	/**
	 * Returns the index within this string of the first occurrence of the	 * specified substring.
	 * @param {String} s any string.
	 * @return  if the string argument occurs as a substring within this	 * 	        object, then the index of the first character of the first	 *          such substring is returned;
	 * @type int	 */
	this.indexOf = function (s)
	{
		return this.toString().indexOf(s);
	}
	
	/**
	 * Returns the index within this string of the rightmost occurrence	 * of the specified substring.
	 * @param {String} s any string.
	 * @return  if the string argument occurs one or more times as a substring	 *          within this object, then the index of the first character of	 *          the last such substring is returned. If it does not occur as	 *          a substring, <code>-1</code> is returned.
	 * @type int	 */
	this.lastIndexOf = function (s)
	{
		return this.toString().lastIndexOf(s);
	}
	
	/**
	 * Returns a new String that contains a subsequence of
	 * characters currently contained in this <code>StringBuffer</code>.The 
	 * substring begins at the specified index and extends to the end of the
	 * <code>StringBuffer</code>.
	 * @param  start The beginning index, inclusive.	 * @return The new string.
	 * @type int
	 */
	this.substring = function (st, ed)
	{
		return (ed) ? this.toString().substring(st)
			: this.toString().substring(st, ed);
	}

	/**	 * Converts to a string representing the data in this string buffer.	 * A new String object is allocated and initialized to 	 * contain the character sequence currently represented by this 	 * string buffer. This String is then returned. Subsequent 	 * changes to the string buffer do not affect the contents of the String.	 * @return  a string representation of the string buffer.
	 * @type String	 */
	this.toString = function()
	{
		if (str == null)
		{
			str = strs.join("");
			strs = [str];
			curr = 1;
		}
		return str;
	}

	/**	 * Returns the length (character count) of this string buffer.	 * @return  the length of the sequence of characters currently 	 *          represented by this string buffer.
	 * @type int	 */
	this.length = function()
	{
		return this.toString().length;
	}

	/**	 * Sets the length of this String buffer.	 * @param l the new length of the buffer.	 * @see #length()
	 */
	this.setLength = function(l)
	{
		l = (l < 0) ? 0 : l;
		l = (l > this.length()) ? this.length() : l;
		str = str.substring(0, l);
		strs = new Array(str);
		curr = 1;
	}
	
	/**
	 * First thing---append the argument
	 * @ignore
	 */
	if (s != null)
	{
		this.append(s);
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -