Java数据类型教程 – Java字符串字符 索引字符 您可以使用charAt()方法从String对象中获取特定索引处的字符。索引从零开始。 下面的代码打印索引值和字符在“W3CSCHOOL.CN”字符串中的每个索引处: public class Main { public static void main(String[] args) { String str = "W3CSCHOOL.CN"; // Get the length of string int len = str.length(); // Loop through all characters and print their indexes for (int i = 0; i < len; i++) { System.out.println(str.charAt(i) + " has index " + i); } } } 上面的代码生成以下结果。 测试字符串是否为空 测试String对象是否为空。空字符串的长度为零。 有三种方法可以检查空字符串: isEmpty()方法。 equals()方法。 获取字符串的长度,并检查它是否为零。 以下代码显示如何使用三种方法: public class Main { public static void main(String[] args) { String str1 = "Hello"; String str2 = ""; // Using the isEmpty() method boolean empty1 = str1.isEmpty(); // Assigns false to empty1 boolean empty2 = str2.isEmpty(); // Assigns true to empty1 // Using the equals() method boolean empty3 = "".equals(str1); // Assigns...
Java数据类型教程 – Java字符串比较 String类覆盖了Object类的equals()方法,并提供了自己的实现,它根据它们的内容比较两个字符串的相等性。 等于 例如,我们可以比较两个字符串的相等性,如下所示: String str1 = new String("Hello"); String str2 = new String("Hi"); String str3 = new String("Hello"); boolean b1, b2; b1 = str1.equals(str2); // false will be assigned to b1 b2 = str1.equals(str3); // true will be assigned to b2 我们还可以将字符串字面量与字符串字面量或字符串对象进行比较,如下所示: b1 = str1.equals("Hello"); // true will be assigned to b1 b2 = "Hello".equals(str1); // true will be assigned to b2 b1 = "Hello".equals("Hi"); // false will be assigned to b1 ==操作符总是比较内存中两个对象的引用。 str1 == str2和str1 == str3将返回false,因为str1,str2和str3是内存中三个不同String对象的引用。 比较 要根据字符的Unicode值比较两个字符串,请使用compareTo()方法。它的签名是 public int compareTo(String anotherString) 它返回一个整数,它可以是0(零),正整数或负整数。 该方法返回这两个字符的Unicode值之间的差异。 例如,“a”.compareTo(“b”)将返回-1。 a的Unicode值为97,b为98。它返回差值97 – 98,它是-1。 以下是字符串比较的示例: "abc".compareTo("abc") will return 0 "abc".compareTo("xyz") will return -23 (value of "a" - "x") "xyz".compareTo("abc") will return 23 (value of "x" - "a") 以下代码显示如何进行字符串比较。 public class Main...
Java设计模式 – 工厂模式 工厂模式是一种创建模式,因为此模式提供了更好的方法来创建对象。 在工厂模式中,我们创建对象而不将创建逻辑暴露给客户端。 例子 在以下部分中,我们将展示如何使用工厂模式创建对象。 由工厂模式创建的对象将是形状对象,如圆形,矩形。 首先,我们设计一个接口来表示Shape。 public interface Shape { void draw(); } 然后我们创建实现接口的具体类。 以下代码用于Rectangle.java public class Rectangle implements Shape { @Override public void draw() { System.out.println("Inside Rectangle::draw() method."); } } Square.java public class Square implements Shape { @Override public void draw() { System.out.println("Inside Square::draw() method."); } } Circle.java public class Circle implements Shape { @Override public void draw() { System.out.println("Inside Circle::draw() method."); } } 核心工厂模式是一个Factory类。以下代码显示了如何为Shape对象创建Factory类。 ShapeFactory类基于传递给getShape()方法的String值创建Shape对象。如果String值为CIRCLE,它将创建一个Circle对象。 public class ShapeFactory { //use getShape method to get object of type shape public Shape getShape(String shapeType){ if(shapeType == null){ return null; } if(shapeType.equalsIgnoreCase("CIRCLE")){ return new Circle(); } else if(shapeType.equalsIgnoreCase("RECTANGLE")){ return new Rectangle(); } else if(shapeType.equalsIgnoreCase("SQUARE")){ return new Square(); } return null; } } 以下代码具有main方法,并且它使用Factory类通过传递类型等信息来获取具体类的对象。 public class Main { public...
Java lastIndexOf() 方法 Java String类 lastIndexOf() 方法有以下四种形式: public int lastIndexOf(int ch): 返回指定字符在此字符串中最后一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。 public int lastIndexOf(int ch, int fromIndex): 返返回指定字符在此字符串中最后一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。 public int lastIndexOf(String str): 返回指定字符在此字符串中最后一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。 public int lastIndexOf(String str, int fromIndex): 返回指定字符在此字符串中最后一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。 语法 public int lastIndexOf(int ch) 或 public int lastIndexOf(int ch, int fromIndex) 或 public int lastIndexOf(String str) 或 public int lastIndexOf(String str, int fromIndex) 参数 ch — 字符。 fromIndex — 开始搜索的索引位置。 str — 要搜索的子字符串。 返回值 指定子字符串在字符串中第一次出现处的索引值。 实例 public class Test { public static void main(String args[]) { String Str = new String("W3Cschool教程:www.w3cschool.cn"); String SubStr1 = new String("youj"); String SubStr2 = new String("com"); System.out.print("查找字符 o 最后出现的位置 :" ); System.out.println(Str.lastIndexOf( 'o' )); System.out.print("从第14个位置查找字符 o 最后出现的位置 :" ); System.out.println(Str.lastIndexOf( 'o', 14 )); System.out.print("子字符串 SubStr1 最后出现的位置:" ); System.out.println( Str.lastIndexOf(...