JavaString.js

转载 2007年09月19日 14:42:00

/**
 use as java.lang.String for java programmer!
 becasuse String is a Object of JavaScirpt,we named it as JavaString!
 String is used most commonly in JavaScript
 we can use JavaString in ArrayList,HashMap,HashSet etc!
 */
function testJavaString() {
  alert("JavaStrint test begin:");
  try {
    var javaStr = new JavaString("Hello World");

    assert(javaStr.length() == 11);

    assert(javaStr.charAt(2) == 'l');

    assert(javaStr.equals(new JavaString("Hello World")));

    assert(javaStr.equalsIgnoreCase("hello world"));


    assert(javaStr.compareTo("Hello") > 0);
    assert(javaStr.compareTo("MX") < 0);
    assert(javaStr.compareTo("Hello World") == 0);

    assert(javaStr.startsWith("Hello "));

    assert(javaStr.endsWith("orld"));

    assert(javaStr.indexOf("o") == 4);

    assert(javaStr.lastIndexOf("o") == 7);

    assert(javaStr.concat(" WSG").equals(new JavaString("Hello World WSG")));

    assert(javaStr.replace("o", "").equals(new JavaString("Hell World")));

    assert(javaStr.replaceAll("o", "").equals(new JavaString("Hell Wrld")));

    assert(javaStr.matches("Hell.+"));

    assert(javaStr.split(" ").length == 2);
    assert(javaStr.split("o")[1] == " W");
    assert(javaStr.toCharArray().length == 11);
    assert(javaStr.toCharArray()[4] == "o");

    assert(javaStr.toString() == "Hello World");
    assert(javaStr.toUpperCase().equals(new JavaString("HELLO WORLD")));
    assert(javaStr.toLowerCase().equals(new JavaString("hello world")));

  }
  catch(e) {
    alert(e);
  }
  alert("JavaString test end");
}

function JavaString(val) {
  private:
          this.value = val;

  public:
          this.length = length;
  function length() {
    return this.value.length;
  }
  this.charAt = charAt;
  function charAt(index) {
    return this.value.charAt(index);
  }

  this.equals = equals;
  function equals(str) {
    return this.value == str.value;
  }

  this.equalsIgnoreCase = equalsIgnoreCase;
  function equalsIgnoreCase(str) {
    return this.value.toUpperCase() == str.toUpperCase();
  }

  this.compareTo = compareTo;
  function compareTo(str) {
    if (this.value == str.value) return 0;
    else if (this.value > str.value) return 1;
    else return -1;
  }

  this.compareToIgnoreCase = compareToIgnoreCase;
  function compareToIgnoreCase(str) {
    var a = this.value.toUpperCase();
    var b = str.toUpperCase();
    if (a == b) return 0;
    else if (a > b) return 1;
    else return -1;
  }

  this.startsWith = startsWith;
  function startsWith(prefix) {
    return this.value.substring(0, prefix.length) == prefix;
  }

  this.endsWith = endsWith;
  function endsWith(suffix) {
    return this.value.substring(this.value.length - suffix.length) == suffix;
  }

  this.hashCode = hashCode;
  function hashCode() {
    var h = 0;
    for (var i = 0; i < this.value.length; i++) {
      h = 31 * h + this.value.charCodeAt(i);
    }
    return h;
  }

  this.indexOf = indexOf;
  function indexOf(ch) {
    return this.value.indexOf(ch);
  }

  this.lastIndexOf = lastIndexOf;
  function lastIndexOf(ch) {
    return this.value.lastIndexOf(ch);
  }


  this.substring = substring;
  function substring() {
    var args = substring.arguments;
    var begin = args[0];

    if (args.length > 1) return new JavaString(this.value.substring(begin, args[1]));
    else return new JavaString(this.value.substring(begin));
  }


  this.concat = concat;
  function concat(str) {
    return new JavaString(this.value + str);
  }

  this.replace = replace;
  function replace(oldStr, newStr) {
    return new JavaString(this.value.replace(oldStr, newStr));
  }


  this.matches = matches;
  function matches(regex) {
    return this.value.match(regex) != null;
  }

  this.replaceFirst = replaceFirst;
  function replaceFirst(regex, replacement) {
    return new JavaString(this.value.replace(regex, replacement));
  }

  this.replaceAll = replaceAll;
  function replaceAll(regex, replacement) {
    var va = this.value;
    var temp = va.replace(regex, replacement);
    while (temp != va) {
      va = temp;
      temp = va.replace(regex, replacement);
    }
    return new JavaString(va);
  }


  this.split = split;
  function split(sep) {
    return this.value.split(sep);
  }

  this.toLowerCase = toLowerCase;
  function toLowerCase() {
    return new JavaString(this.value.toLowerCase());
  }

  this.toUpperCase = toUpperCase;
  function toUpperCase() {
    return new JavaString(this.value.toUpperCase());
  }

  this.toCharArray = toCharArray;
  function toCharArray() {
    var charArr = new Array();
    for (var i = 0; i < this.value.length; i++) charArr[i] = this.value.charAt(i);
    return charArr;
  }

  this.toString = toString;
  function toString() {
    return this.value;
  }

相关文章推荐

javaString工具类

java基础 JAVAString StringBuffer StringBuilder

package com.zemeng; import java.util.Arrays; import java.util.Date; public class ArrayDemo { p...

javastring类的源码

  • 2015-11-28 20:19
  • 121KB
  • 下载

黑马程序员_日记20_JavaString概述

——- android培训、java培训、期待与您交流! ———-String类是字符串类。 字符串是一个特殊的对象,最大的特点就是: 一旦被初始化就不可以被改变。 正因为String对象不可变...

黑马程序员_日记21_JavaString常用方法

——- android培训、java培训、期待与您交流! ———-String类用来描述字符串,它提供了许多的方法来操作字符串。 那么,在String众多的方法中,常用的方法有哪些呢??1 获...

JavaString

当字符缓冲用于多线程的时候,尽管StringBuilder的速度最快但是JVM不能保证它的操作是安全的,但是StringBuffer是安全的。所以在单线程的时候一般用StringBuilder就是因为...

JNI学习笔记4——本地代码创建Java对象(包括javaString)

原文:http://blog.csdn.net/jiben071/archive/2010/11/26/6036305.aspx (一)在C/C++本地代码中创建JAVA对象1.java对象的创建(1...
  • GEOLO
  • GEOLO
  • 2011-04-22 10:20
  • 2295

js图片轮播

内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)