java toString方法在单个行中打印容器中的所有元素

本文介绍了一个Java工具类PPrint,用于美观地打印集合中的元素,并演示了如何使用Directory类来遍历指定目录下的文件,包括使用正则表达式进行过滤。

/*

  • toString 方法会在单个行中打印容器中的所有元素,添加新行并缩排所有元素的工具
    */

package com.fatiaoyu;

import java.util.Arrays;
import java.util.Collection;

public class PPrint {
public static String pformat(Collection<?> c) {
if (c.size() == 0)
return “[]”;
StringBuilder result = new StringBuilder("[");
for (Object elem : c) {
if (c.size() != 1)
result.append("\n “);
result.append(elem);
}
if (c.size() != 1)
result.append(”\n");
result.append("]");
return result.toString();
}

public static void pprint(Collection<?> c) {
	System.out.println(pformat(c));
}

public static void pprint(Object[] c) {
	System.out.println(pformat(Arrays.asList(c)));
}

}

------------------------------ java 中的walk与正则 -----------------------
package com.fatiaoyu;

import java.io.File;

public class DirectoryDemo {
public static void main(String[] args) {
PPrint.pprint(Directory.walk(".").dirs);
for (File file : Directory.local(".", “T.*”)) {
System.out.println(file);
}
System.out.println("=========================");
for (File file : Directory.walk(".", “T.\.java")) {
System.out.println(file);
}
System.out.println("-----------------------------");
for (File file : Directory.walk(".", ".
[Zz].*\.class”)) {
System.out.println(file);
}
}
}

打印结果:
在这里插入图片描述

Java中,`StringBuffer` 类是一个可变序列的字符容器,它提供线程安全的操作,常用于字符串拼接场景。下面是一些 `StringBuffer` 的常见方法及其简单的实例: 1. **构造函数**: ```java // 构造一个初始容量为16的空StringBuffer对象 StringBuffer stringBuffer = new StringBuffer(); ``` 2. **`append()` 和 `insert()`**: 这些方法用于添加字符、字符串到缓冲区末尾或指定位置。 ```java // 添加单个字符 stringBuffer.append('H'); // 在特定索引插入字符串 stringBuffer.insert(0, "Hello "); ``` 3. **`deleteCharAt(int index)` 和 `deleteRange(int start, int end)`**: 删除指定位置或范围内的字符。 ```java // 删除第三个字符 stringBuffer.deleteCharAt(2); // 删除从索引5开始到9结束的字符 stringBuffer.deleteRange(5, 9); ``` 4. **`replace(char oldChar, char newChar)` 和 `replaceAll(String regex, String replacement)`**: 替换字符或替换满足正则表达式的部分。 ```java // 将所有 'o' 替换为 'a' stringBuffer.replace('o', 'a'); // 使用新字符串替换所有的 'World' 成 'Universe' stringBuffer.replaceAll("World", "Universe"); ``` 5. **`length()`**: 返回当前字符串长度。 ```java int length = stringBuffer.length(); // 获取当前长度 ``` 6. **`toString()`**: 转换成普通字符串。 ```java String finalString = stringBuffer.toString(); // 转换并获取最终结果 ``` 7. **`reverse()`**: 反转字符串内容。 ```java stringBuffer.reverse(); // 颠倒整个缓冲区的内容 ``` 8. **同步方法**: `synchronized` 版本如 `sb.append("Java")`,保证了多线程环境下的安全性。 以上只是 `StringBuffer` 中的一部分常用方法,还有更多的辅助方法如 `capacity()`、`setCharAt(int index, char ch)` 等。记住,`StringBuilder` 类在单线程环境下通常性能更好,因为没有线程锁。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值