java如何创建一个可变的String呢?
下文笔者讲述使用java代码创建可变String的方法分享,如下所示:
实现思路: 使用Charset对象创建一个自定义的字符串对象 从而达到可变字符串的效果例:
public class MutableStringTest { @Test public void testMutableString() throws Exception { final String s = createModifiableString(); System.out.println(s); modify(s); System.out.println(s); } private final AtomicReference<CharBuffer> cbRef = new AtomicReference<CharBuffer>(); private String createModifiableString() { Charset charset = new Charset("java265", null) { @Override public boolean contains(Charset cs) { return false; } @Override public CharsetDecoder newDecoder() { CharsetDecoder cd = new CharsetDecoder(this, 1.0f, 1.0f) { @Override protected CoderResult decodeLoop(ByteBuffer in, CharBuffer out) { cbRef.set(out); while(in.remaining()>0) { out.append((char)in.get()); } return CoderResult.UNDERFLOW; } }; return cd; } @Override public CharsetEncoder newEncoder() { return null; } }; return new String("test8888".getBytes(), charset); } private void modify(String s) { CharBuffer charBuffer = cbRef.get(); charBuffer.position(0); charBuffer.put("9999999"); } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。