parent
9e1e86d93a
commit
411050d429
@ -0,0 +1,66 @@
|
|||||||
|
package com.msb.flyweight;/**
|
||||||
|
* @Author bingor
|
||||||
|
* @Date 2022/10/14 19:40
|
||||||
|
* @Description: com.msb.flyweight
|
||||||
|
* @Version: 1.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*@ClassName Main
|
||||||
|
*@Description TODO
|
||||||
|
*@Author bingor
|
||||||
|
*@Date 2022/10/14 19:40
|
||||||
|
*@Version 3.0
|
||||||
|
*/
|
||||||
|
public class Main {
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
|
||||||
|
BulletPool pool = new BulletPool();
|
||||||
|
|
||||||
|
for (int i=0; i<10 ; i++) {
|
||||||
|
Bullet bullet = pool.getBullet();
|
||||||
|
System.out.println(bullet);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
class Bullet {
|
||||||
|
private UUID id = UUID.randomUUID();
|
||||||
|
private boolean live = false;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "Bullet{" +
|
||||||
|
"id=" + id +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isLive() {
|
||||||
|
return live;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class BulletPool {
|
||||||
|
|
||||||
|
private List<Bullet> bullets = new ArrayList<>();
|
||||||
|
|
||||||
|
{
|
||||||
|
for (int i=0; i<5; i++) {
|
||||||
|
bullets.add(new Bullet());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public Bullet getBullet() {
|
||||||
|
for (Bullet bullet : bullets) {
|
||||||
|
if( ! bullet.isLive()) return bullet;
|
||||||
|
}
|
||||||
|
return new Bullet();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in new issue